couponCode)->toBe($couponCode) ->and($campaignCoupon->printRules)->toBe($printRules); }); it('creates a valid campaign coupon whitout print rules', function () use ($couponCode): void { // GIVEN / WHEN $campaignCoupon = new CampaignCoupon( couponCode: $couponCode, ); // THEN expect($campaignCoupon->couponCode)->toBe($couponCode); }); it('returns true when coupon codes are identical', function () use ($couponCode, $printRules): void { // GIVEN $campaignCoupon = new CampaignCoupon( couponCode: $couponCode, printRules: $printRules, ); // WHEN $result = $campaignCoupon->hasCouponCode( new CouponCode('AAA01'), ); // THEN expect($result)->toBeTrue(); }); it('returns false when coupon codes are different', function () use ($couponCode, $printRules): void { // GIVEN $campaignCoupon = new CampaignCoupon( couponCode: $couponCode, printRules: $printRules, ); // WHEN $result = $campaignCoupon->hasCouponCode( new CouponCode('BBB02'), ); // THEN expect($result)->toBeFalse(); }); });