-
tests/Unit/Pricing/UserCostTest.php
Open in GitHubuse App\Services\PricingService; beforeEach(function () { $this->pricingService = new PricingService(); }); it('calculates users cost for production plan with additional users', function () { $plan = 'production'; $additionalUsers = 5; $pricePerUser = 10.00; $expectedCost = $additionalUsers * $pricePerUser; // 50.00 $actualCost = $this->pricingService->calculateUsersCost($plan, $additionalUsers); expect($actualCost)->toBe($expectedCost); }); it('calculates users cost for business plan with additional users', function () { $plan = 'business'; $additionalUsers = 15; $pricePerUser = 10.00; $expectedCost = $additionalUsers * $pricePerUser; // 150.00 $actualCost = $this->pricingService->calculateUsersCost($plan, $additionalUsers); expect($actualCost)->toBe($expectedCost); }); it('calculates zero users cost for production plan with zero additional users', function () { $plan = 'production'; $additionalUsers = 0; $expectedCost = 0.00; $actualCost = $this->pricingService->calculateUsersCost($plan, $additionalUsers); expect($actualCost)->toBe($expectedCost); }); it('calculates zero users cost for sandbox plan regardless of additional users', function () { $plan = 'sandbox'; $additionalUsers = 10; // Should be ignored $expectedCost = 0.00; $actualCost = $this->pricingService->calculateUsersCost($plan, $additionalUsers); expect($actualCost)->toBe($expectedCost); });