fix: 🚚 renaming classes that do not belong directly to Coupons
This commit is contained in:
parent
c3a3d1cb83
commit
d75f132ee1
26 changed files with 168 additions and 165 deletions
|
|
@ -12,11 +12,11 @@ use Domain\Models\ValueObjects\Coupon\CouponDiffusion;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Shared\DDD\UseCases\Input as UseCaseInput;
|
||||
|
||||
final readonly class Input implements UseCaseInput
|
||||
|
|
@ -29,7 +29,7 @@ final readonly class Input implements UseCaseInput
|
|||
public CouponDiffusion $diffusion,
|
||||
public CouponValidityInformationArray $validityInformations,
|
||||
public CouponLegalInformationArray $legalInformations,
|
||||
public CouponProcessingCodeArray $processingCode,
|
||||
public ProcessingCodeArray $processingCode,
|
||||
public BrandCode $brandCode,
|
||||
public ActorId $createdBy,
|
||||
public CouponProductArray $products,
|
||||
|
|
|
|||
|
|
@ -14,11 +14,11 @@ use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Shared\DDD\UseCases\Output as UseCaseOutput;
|
||||
|
||||
final readonly class Output implements UseCaseOutput
|
||||
|
|
@ -32,7 +32,7 @@ final readonly class Output implements UseCaseOutput
|
|||
public CouponDiffusion $diffusion,
|
||||
public CouponValidityInformationArray $validityInformations,
|
||||
public CouponLegalInformationArray $legalInformations,
|
||||
public CouponProcessingCodeArray $processingCode,
|
||||
public ProcessingCodeArray $processingCode,
|
||||
public BrandCode $brandCode,
|
||||
public ActorId $createdBy,
|
||||
public CouponProductArray $products,
|
||||
|
|
|
|||
|
|
@ -14,11 +14,11 @@ use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
|
||||
final readonly class CouponFound implements Output
|
||||
{
|
||||
|
|
@ -35,7 +35,7 @@ final readonly class CouponFound implements Output
|
|||
public ?CouponAvailabilityCalendar $availabilityCalendar,
|
||||
public CouponValidityInformationArray $validityInformations,
|
||||
public CouponLegalInformationArray $legalInformations,
|
||||
public CouponProcessingCodeArray $processingCode,
|
||||
public ProcessingCodeArray $processingCode,
|
||||
public Brand $brand,
|
||||
public ActorId $createdBy,
|
||||
public CouponProductArray $products,
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Shared\DDD\Models\AggregateRoot;
|
||||
use Shared\DDD\Models\HasTimestampIdentifier;
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ final readonly class Coupon implements AggregateRoot, HasTimestampIdentifier
|
|||
public CouponDiffusion $diffusion,
|
||||
public CouponValidityInformationArray $validityInformations,
|
||||
public CouponLegalInformationArray $legalInformations,
|
||||
public CouponProcessingCodeArray $processingCode,
|
||||
public ProcessingCodeArray $processingCode,
|
||||
public BrandCode $brandCode,
|
||||
public ActorId $createdBy,
|
||||
public CouponProductArray $products,
|
||||
|
|
@ -76,7 +76,7 @@ final readonly class Coupon implements AggregateRoot, HasTimestampIdentifier
|
|||
CouponDiffusion $diffusion,
|
||||
CouponValidityInformationArray $validityInformations,
|
||||
CouponLegalInformationArray $legalInformations,
|
||||
CouponProcessingCodeArray $processingCode,
|
||||
ProcessingCodeArray $processingCode,
|
||||
BrandCode $brandCode,
|
||||
ActorId $createdBy,
|
||||
CouponProductArray $products,
|
||||
|
|
@ -114,7 +114,7 @@ final readonly class Coupon implements AggregateRoot, HasTimestampIdentifier
|
|||
CouponDiffusion $diffusion,
|
||||
CouponValidityInformationArray $validityInformations,
|
||||
CouponLegalInformationArray $legalInformations,
|
||||
CouponProcessingCodeArray $processingCode,
|
||||
ProcessingCodeArray $processingCode,
|
||||
BrandCode $brandCode,
|
||||
ActorId $createdBy,
|
||||
CouponProductArray $products,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Domain\Models\ValueObjects\Coupon;
|
||||
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Shared\Enums\Country;
|
||||
|
||||
final readonly class CouponCountryCoverage
|
||||
|
|
@ -13,7 +14,7 @@ final readonly class CouponCountryCoverage
|
|||
}
|
||||
|
||||
public static function assert(
|
||||
CouponProcessingCodeArray $processingCodes,
|
||||
ProcessingCodeArray $processingCodes,
|
||||
CouponValidityInformationArray $validityInformations,
|
||||
CouponLegalInformationArray $legalInformations,
|
||||
): void {
|
||||
|
|
|
|||
|
|
@ -4,15 +4,17 @@ declare(strict_types=1);
|
|||
|
||||
namespace Domain\Models\ValueObjects\Coupon;
|
||||
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
|
||||
final readonly class CouponProductArray
|
||||
{
|
||||
public function __construct(
|
||||
/** @var CouponIncoCode[] */
|
||||
/** @var IncoCode[] */
|
||||
public array $value = [],
|
||||
) {
|
||||
foreach ($this->value as $product) {
|
||||
if (! $product instanceof CouponIncoCode) {
|
||||
throw new \DomainException('Value of CouponProductArray must be CouponIncoCode instances.');
|
||||
if (! $product instanceof IncoCode) {
|
||||
throw new \DomainException('Value of CouponProductArray must be IncoCode instances.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Domain\Models\ValueObjects\Coupon;
|
||||
namespace Domain\Models\ValueObjects;
|
||||
|
||||
final readonly class CouponIncoCode
|
||||
final readonly class IncoCode
|
||||
{
|
||||
/**
|
||||
* @throws \DomainException
|
||||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Domain\Models\ValueObjects\Coupon;
|
||||
namespace Domain\Models\ValueObjects;
|
||||
|
||||
use Shared\DDD\Models\Equatable;
|
||||
use Shared\Enums\Country;
|
||||
|
||||
final readonly class CouponProcessingCode implements \Stringable, Equatable
|
||||
final readonly class ProcessingCode implements \Stringable, Equatable
|
||||
{
|
||||
private const string PATTERN = '/^\d{13}\z/';
|
||||
|
||||
|
|
@ -2,31 +2,31 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Domain\Models\ValueObjects\Coupon;
|
||||
namespace Domain\Models\ValueObjects;
|
||||
|
||||
use Shared\Enums\Country;
|
||||
|
||||
final readonly class CouponProcessingCodeArray
|
||||
final readonly class ProcessingCodeArray
|
||||
{
|
||||
public function __construct(
|
||||
/** @var CouponProcessingCode[] */
|
||||
/** @var ProcessingCode[] */
|
||||
public array $value,
|
||||
) {
|
||||
if ($this->value === []) {
|
||||
throw new \DomainException('ProcessingCodes requires at least one CouponProcessingCode.');
|
||||
throw new \DomainException('ProcessingCodes requires at least one ProcessingCode.');
|
||||
}
|
||||
|
||||
$hasFrance = false;
|
||||
$countries = [];
|
||||
|
||||
foreach ($this->value as $processingCode) {
|
||||
if (! $processingCode instanceof CouponProcessingCode) {
|
||||
throw new \DomainException('Value of CouponProcessingCodeArray must be CouponProcessingCode instances.');
|
||||
if (! $processingCode instanceof ProcessingCode) {
|
||||
throw new \DomainException('Value of ProcessingCodeArray must be ProcessingCode instances.');
|
||||
}
|
||||
|
||||
if (isset($countries[$processingCode->availableIn->name])) {
|
||||
throw new \DomainException(sprintf(
|
||||
'Only one CouponProcessingCode is allowed per country, duplicate for %s.',
|
||||
'Only one ProcessingCode is allowed per country, duplicate for %s.',
|
||||
$processingCode->availableIn->name,
|
||||
));
|
||||
}
|
||||
|
|
@ -39,7 +39,7 @@ final readonly class CouponProcessingCodeArray
|
|||
}
|
||||
|
||||
if (! $hasFrance) {
|
||||
throw new \DomainException('CouponProcessingCodes requires a CouponProcessingCode for France.');
|
||||
throw new \DomainException('ProcessingCodes requires a ProcessingCode for France.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8,12 +8,12 @@ use Domain\Models\ValueObjects\Coupon\CouponCountryCoverage;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
|
||||
final readonly class RequestedCoupon
|
||||
{
|
||||
|
|
@ -23,7 +23,7 @@ final readonly class RequestedCoupon
|
|||
public Period $diffusion,
|
||||
public MoneyAmount $moneyAmount,
|
||||
public CouponPicture $couponPicture,
|
||||
public CouponProcessingCodeArray $couponProcessingCodes,
|
||||
public ProcessingCodeArray $couponProcessingCodes,
|
||||
public CouponValidityInformationArray $couponValidityInformations,
|
||||
public CouponLegalInformationArray $couponLegalInformations,
|
||||
public CouponProductArray $couponProducts,
|
||||
|
|
|
|||
|
|
@ -14,20 +14,20 @@ use Domain\Models\ValueObjects\Campaign\CampaignName;
|
|||
use Domain\Models\ValueObjects\CampaignRequest\Applicant;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestStatus;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestType;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCoupon;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCouponQuantity;
|
||||
use Domain\Ports\Repositories\BrandRepository;
|
||||
|
|
@ -55,8 +55,8 @@ describe('create campaign request use case', function (): void {
|
|||
new PicturePath('files/thumbnail.jpg'),
|
||||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
),
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -66,7 +66,7 @@ describe('create campaign request use case', function (): void {
|
|||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX)
|
||||
]),
|
||||
couponProducts: new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]),
|
||||
couponProducts: new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]),
|
||||
printRules: new PrintRules(maxPerCustomer: 3)
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -21,20 +21,20 @@ use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestId;
|
|||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestStatus;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestType;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\RejectionReason;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCoupon;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCouponQuantity;
|
||||
use Domain\Ports\Repositories\BrandRepository;
|
||||
|
|
@ -59,8 +59,8 @@ describe('find campaign request use case', function (): void {
|
|||
new PicturePath('files/thumbnail.jpg'),
|
||||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
),
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -70,7 +70,7 @@ describe('find campaign request use case', function (): void {
|
|||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX)
|
||||
]),
|
||||
couponProducts: new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]),
|
||||
couponProducts: new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]),
|
||||
printRules: new PrintRules(maxPerCustomer: 3),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -16,20 +16,20 @@ use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestSortCriteria;
|
|||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestSortField;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestStatus;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestType;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCoupon;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCouponQuantity;
|
||||
use Domain\Ports\Repositories\CampaignRequestRepository;
|
||||
|
|
@ -53,8 +53,8 @@ describe('list campaigns request use case', function (): void {
|
|||
new PicturePath('files/thumbnail.jpg'),
|
||||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
),
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -64,7 +64,7 @@ describe('list campaigns request use case', function (): void {
|
|||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX)
|
||||
]),
|
||||
couponProducts: new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]),
|
||||
couponProducts: new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]),
|
||||
printRules: new PrintRules(maxPerCustomer: 3),
|
||||
);
|
||||
|
||||
|
|
@ -78,8 +78,8 @@ describe('list campaigns request use case', function (): void {
|
|||
new PicturePath('files/thumbnail.jpg'),
|
||||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
),
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -89,7 +89,7 @@ describe('list campaigns request use case', function (): void {
|
|||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX)
|
||||
]),
|
||||
couponProducts: new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]),
|
||||
couponProducts: new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]),
|
||||
printRules: new PrintRules(maxPerCustomer: 3),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -19,20 +19,20 @@ use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestId;
|
|||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestStatus;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestType;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\RejectionReason;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCoupon;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCouponQuantity;
|
||||
use Domain\Ports\Repositories\CampaignRequestRepository;
|
||||
|
|
@ -54,8 +54,8 @@ describe('reject campaign request use case', function (): void {
|
|||
new PicturePath('files/thumbnail.jpg'),
|
||||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
),
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -65,7 +65,7 @@ describe('reject campaign request use case', function (): void {
|
|||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX)
|
||||
]),
|
||||
couponProducts: new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]),
|
||||
couponProducts: new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]),
|
||||
printRules: new PrintRules(maxPerCustomer: 3),
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@ use Domain\Models\ValueObjects\Coupon\CouponMovement;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
|
|
@ -30,6 +28,8 @@ use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
|||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Ports\Repositories\BrandRepository;
|
||||
use Domain\Ports\Repositories\CouponRepository;
|
||||
use Shared\DDD\UseCases\Input as BaseInput;
|
||||
|
|
@ -58,8 +58,8 @@ describe('create coupon use case', function (): void {
|
|||
'legalInformations' => new CouponLegalInformationArray([
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
]),
|
||||
'processingCode' => new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
'processingCode' => new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
'brandCode' => new BrandCode('TST89'),
|
||||
'createdBy' => ActorId::generate(),
|
||||
|
|
@ -197,9 +197,9 @@ describe('create coupon use case', function (): void {
|
|||
|
||||
it('creates a GS1 coupon with France and Benelux', function () use ($makeInput): void {
|
||||
// GIVEN
|
||||
$processingCode = new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
new CouponProcessingCode('5425003944147', Country::BENELUX),
|
||||
$processingCode = new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
new ProcessingCode('5425003944147', Country::BENELUX),
|
||||
]);
|
||||
$validityInformations = new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -236,8 +236,8 @@ describe('create coupon use case', function (): void {
|
|||
it('rejects a coupon that targets only benelux', function () use ($makeInput): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn (): Input => $makeInput([
|
||||
'processingCode' => new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944147', Country::BENELUX),
|
||||
'processingCode' => new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944147', Country::BENELUX),
|
||||
]),
|
||||
'validityInformations' => new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX),
|
||||
|
|
@ -254,9 +254,9 @@ describe('create coupon use case', function (): void {
|
|||
it('rejects a benelux processing code without benelux legal information', function () use ($makeInput): void {
|
||||
// GIVEN
|
||||
$input = $makeInput([
|
||||
'processingCode' => new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
new CouponProcessingCode('5425003944147', Country::BENELUX),
|
||||
'processingCode' => new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
new ProcessingCode('5425003944147', Country::BENELUX),
|
||||
]),
|
||||
'validityInformations' => new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -283,9 +283,9 @@ describe('create coupon use case', function (): void {
|
|||
it('rejects a benelux processing code without benelux validity information', function () use ($makeInput): void {
|
||||
// GIVEN
|
||||
$input = $makeInput([
|
||||
'processingCode' => new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
new CouponProcessingCode('5425003944147', Country::BENELUX),
|
||||
'processingCode' => new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
new ProcessingCode('5425003944147', Country::BENELUX),
|
||||
]),
|
||||
'legalInformations' => new CouponLegalInformationArray([
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -312,9 +312,9 @@ describe('create coupon use case', function (): void {
|
|||
it('rejects two processing codes for the same country', function () use ($makeInput): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn (): Input => $makeInput([
|
||||
'processingCode' => new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
new CouponProcessingCode('5425003944147', Country::FRANCE),
|
||||
'processingCode' => new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
new ProcessingCode('5425003944147', Country::FRANCE),
|
||||
]),
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -21,22 +21,22 @@ use Domain\Models\ValueObjects\Campaign\CampaignCouponArray;
|
|||
use Domain\Models\ValueObjects\Campaign\CampaignName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponDiffusion;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponMovement;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Ports\Repositories\BrandRepository;
|
||||
use Domain\Ports\Repositories\CampaignRepository;
|
||||
use Domain\Ports\Repositories\CouponRepository;
|
||||
|
|
@ -83,14 +83,14 @@ describe('find coupon use case', function (): void {
|
|||
Country::FRANCE
|
||||
),
|
||||
]),
|
||||
processingCode: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
processingCode: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
brandCode: $brand->code,
|
||||
createdBy: ActorId::generate(),
|
||||
products: new CouponProductArray([
|
||||
new CouponIncoCode(35784),
|
||||
new CouponIncoCode(15522),
|
||||
new IncoCode(35784),
|
||||
new IncoCode(15522),
|
||||
]),
|
||||
movements: new CouponMovementArray([
|
||||
new CouponMovement(1000)
|
||||
|
|
|
|||
|
|
@ -16,24 +16,24 @@ use Domain\Models\ValueObjects\Coupon\CouponAvailabilityCalendar;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponDiffusion;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponId;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponMovement;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponSortCriteria;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponSortField;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Ports\Repositories\CouponRepository;
|
||||
use Shared\DDD\UseCases\Input as BaseInput;
|
||||
use Shared\Enums\Country;
|
||||
|
|
@ -65,12 +65,12 @@ describe('list coupons use case', function (): void {
|
|||
legalInformations: new CouponLegalInformationArray([
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet.', Country::FRANCE),
|
||||
]),
|
||||
processingCode: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('ABC1234567890', Country::FRANCE),
|
||||
processingCode: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
brandCode: new BrandCode('AAA01'),
|
||||
createdBy: ActorId::generate(),
|
||||
products: new CouponProductArray([new CouponIncoCode(35784)]),
|
||||
products: new CouponProductArray([new IncoCode(35784)]),
|
||||
movements: new CouponMovementArray([new CouponMovement(100)]),
|
||||
quantity: new CouponQuantity(100),
|
||||
availabilityCalendar: new CouponAvailabilityCalendar([
|
||||
|
|
@ -97,12 +97,12 @@ describe('list coupons use case', function (): void {
|
|||
legalInformations: new CouponLegalInformationArray([
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet.', Country::FRANCE),
|
||||
]),
|
||||
processingCode: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('DEF0123456789', Country::FRANCE),
|
||||
processingCode: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944147', Country::FRANCE),
|
||||
]),
|
||||
brandCode: new BrandCode('BBB02'),
|
||||
createdBy: ActorId::generate(),
|
||||
products: new CouponProductArray([new CouponIncoCode(35784)]),
|
||||
products: new CouponProductArray([new IncoCode(35784)]),
|
||||
movements: new CouponMovementArray([new CouponMovement(100)]),
|
||||
quantity: new CouponQuantity(100),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -14,20 +14,20 @@ use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestId;
|
|||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestStatus;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\CampaignRequestType;
|
||||
use Domain\Models\ValueObjects\CampaignRequest\RejectionReason;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCoupon;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCouponQuantity;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
|
|
@ -49,8 +49,8 @@ describe('campaign request', function (): void {
|
|||
new PicturePath('files/thumbnail.jpg'),
|
||||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
),
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
|
|
@ -60,7 +60,7 @@ describe('campaign request', function (): void {
|
|||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE),
|
||||
new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX)
|
||||
]),
|
||||
couponProducts: new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]),
|
||||
couponProducts: new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]),
|
||||
printRules: new PrintRules(maxPerCustomer: 3),
|
||||
);
|
||||
$code = new BrandCode('AAA01');
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ namespace Tests\Unit\Domain\Models\Entities;
|
|||
|
||||
use Carbon\CarbonImmutable;
|
||||
use DateTime;
|
||||
use Shared\Enums\Country;
|
||||
use Domain\Models\Entities\Coupon;
|
||||
use Domain\Models\ValueObjects\Actor\ActorId;
|
||||
use Domain\Models\ValueObjects\Brand\BrandCode;
|
||||
|
|
@ -14,23 +13,24 @@ use Domain\Models\ValueObjects\Coupon\CouponAvailabilityCalendar;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponDiffusion;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponId;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponMovement;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponMovementArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponQuantity;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
use Shared\Enums\Country;
|
||||
use Shared\Enums\Currency;
|
||||
use Shared\ValueObjects\Money;
|
||||
|
||||
|
|
@ -58,12 +58,12 @@ describe('coupon', function (): void {
|
|||
Country::FRANCE,
|
||||
)
|
||||
]);
|
||||
$processingCode = new CouponProcessingCodeArray([
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
$processingCode = new ProcessingCodeArray([
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
]);
|
||||
$brandCode = new BrandCode('AAA01');
|
||||
$createdBy = ActorId::generate();
|
||||
$products = new CouponProductArray([new CouponIncoCode(35784), new CouponIncoCode(15522)]);
|
||||
$products = new CouponProductArray([new IncoCode(35784), new IncoCode(15522)]);
|
||||
$movements = new CouponMovementArray([new CouponMovement(100)]);
|
||||
$quantity = new CouponQuantity(100);
|
||||
$availabilityCalendar = new CouponAvailabilityCalendar([
|
||||
|
|
|
|||
|
|
@ -7,17 +7,17 @@ namespace Tests\Unit\Domain\Models\ValueObjects\Coupon;
|
|||
use Domain\Models\ValueObjects\Coupon\CouponCountryCoverage;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Shared\Enums\Country;
|
||||
|
||||
covers(CouponCountryCoverage::class);
|
||||
|
||||
describe('coupon country coverage', function (): void {
|
||||
$franceCode = new CouponProcessingCode('5425003944130', Country::FRANCE);
|
||||
$beneluxCode = new CouponProcessingCode('5425003944147', Country::BENELUX);
|
||||
$franceCode = new ProcessingCode('5425003944130', Country::FRANCE);
|
||||
$beneluxCode = new ProcessingCode('5425003944147', Country::BENELUX);
|
||||
$franceValidity = new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE);
|
||||
$beneluxValidity = new CouponValidityInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::BENELUX);
|
||||
$franceLegal = new CouponLegalInformation('Lorem ipsum dolor sit amet consectetur adipiscing elit.', Country::FRANCE);
|
||||
|
|
@ -26,7 +26,7 @@ describe('coupon country coverage', function (): void {
|
|||
it('accepts a france only coupon', function () use ($franceCode, $franceValidity, $franceLegal): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn () => CouponCountryCoverage::assert(
|
||||
new CouponProcessingCodeArray([$franceCode]),
|
||||
new ProcessingCodeArray([$franceCode]),
|
||||
new CouponValidityInformationArray([$franceValidity]),
|
||||
new CouponLegalInformationArray([$franceLegal]),
|
||||
);
|
||||
|
|
@ -45,7 +45,7 @@ describe('coupon country coverage', function (): void {
|
|||
): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn () => CouponCountryCoverage::assert(
|
||||
new CouponProcessingCodeArray([$franceCode, $beneluxCode]),
|
||||
new ProcessingCodeArray([$franceCode, $beneluxCode]),
|
||||
new CouponValidityInformationArray([$franceValidity, $beneluxValidity]),
|
||||
new CouponLegalInformationArray([$franceLegal, $beneluxLegal]),
|
||||
);
|
||||
|
|
@ -63,7 +63,7 @@ describe('coupon country coverage', function (): void {
|
|||
): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn () => CouponCountryCoverage::assert(
|
||||
new CouponProcessingCodeArray([$franceCode, $beneluxCode]),
|
||||
new ProcessingCodeArray([$franceCode, $beneluxCode]),
|
||||
new CouponValidityInformationArray([$franceValidity]),
|
||||
new CouponLegalInformationArray([$franceLegal, $beneluxLegal]),
|
||||
);
|
||||
|
|
@ -81,7 +81,7 @@ describe('coupon country coverage', function (): void {
|
|||
): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn () => CouponCountryCoverage::assert(
|
||||
new CouponProcessingCodeArray([$franceCode, $beneluxCode]),
|
||||
new ProcessingCodeArray([$franceCode, $beneluxCode]),
|
||||
new CouponValidityInformationArray([$franceValidity, $beneluxValidity]),
|
||||
new CouponLegalInformationArray([$franceLegal]),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,17 +4,17 @@ declare(strict_types=1);
|
|||
|
||||
namespace Tests\Unit\Domain\Models\ValueObjects\Coupon;
|
||||
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Shared\Enums\Country;
|
||||
|
||||
covers(CouponProcessingCode::class);
|
||||
covers(ProcessingCode::class);
|
||||
|
||||
describe('coupon processing code', function (): void {
|
||||
$value = '5425003944130';
|
||||
|
||||
it('creates a valid processing code', function () use ($value): void {
|
||||
// GIVEN / WHEN
|
||||
$code = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$code = new ProcessingCode($value, Country::FRANCE);
|
||||
|
||||
// THEN
|
||||
expect($code->value)->toBe($value)
|
||||
|
|
@ -23,7 +23,7 @@ describe('coupon processing code', function (): void {
|
|||
|
||||
it('rejects an invalid value', function (string $invalidValue): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn (): CouponProcessingCode => new CouponProcessingCode($invalidValue, Country::FRANCE);
|
||||
$action = fn (): ProcessingCode => new ProcessingCode($invalidValue, Country::FRANCE);
|
||||
|
||||
// THEN
|
||||
expect($action)->toThrow(\DomainException::class, 'Processing Code must be exactly 13 numeric characters');
|
||||
|
|
@ -39,8 +39,8 @@ describe('coupon processing code', function (): void {
|
|||
|
||||
it('is equal to another processing code with the same value', function () use ($value): void {
|
||||
// GIVEN
|
||||
$code = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$other = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$code = new ProcessingCode($value, Country::FRANCE);
|
||||
$other = new ProcessingCode($value, Country::FRANCE);
|
||||
|
||||
// WHEN / THEN
|
||||
expect($code->equals($other))->toBeTrue();
|
||||
|
|
@ -48,8 +48,8 @@ describe('coupon processing code', function (): void {
|
|||
|
||||
it('ignores the country when comparing', function () use ($value): void {
|
||||
// GIVEN
|
||||
$france = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$benelux = new CouponProcessingCode($value, Country::BENELUX);
|
||||
$france = new ProcessingCode($value, Country::FRANCE);
|
||||
$benelux = new ProcessingCode($value, Country::BENELUX);
|
||||
|
||||
// WHEN / THEN
|
||||
expect($france->equals($benelux))->toBeTrue();
|
||||
|
|
@ -57,8 +57,8 @@ describe('coupon processing code', function (): void {
|
|||
|
||||
it('is not equal to a processing code with a different value', function () use ($value): void {
|
||||
// GIVEN
|
||||
$code = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$other = new CouponProcessingCode('4006381333931', Country::FRANCE);
|
||||
$code = new ProcessingCode($value, Country::FRANCE);
|
||||
$other = new ProcessingCode('4006381333931', Country::FRANCE);
|
||||
|
||||
// WHEN / THEN
|
||||
expect($code->equals($other))->toBeFalse();
|
||||
|
|
@ -66,7 +66,7 @@ describe('coupon processing code', function (): void {
|
|||
|
||||
it('is not equal to a value that is not a processing code', function () use ($value): void {
|
||||
// GIVEN
|
||||
$code = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$code = new ProcessingCode($value, Country::FRANCE);
|
||||
|
||||
// WHEN / THEN
|
||||
expect($code->equals($value))->toBeFalse()
|
||||
|
|
@ -75,7 +75,7 @@ describe('coupon processing code', function (): void {
|
|||
|
||||
it('is converted to its value as a string', function () use ($value): void {
|
||||
// GIVEN
|
||||
$code = new CouponProcessingCode($value, Country::FRANCE);
|
||||
$code = new ProcessingCode($value, Country::FRANCE);
|
||||
|
||||
// WHEN / THEN
|
||||
expect((string) $code)->toBe($value);
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ declare(strict_types=1);
|
|||
|
||||
namespace Tests\Unit\Domain\Models\ValueObjects\Coupon;
|
||||
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
|
||||
covers(CouponProductArray::class);
|
||||
|
||||
describe('coupon product array', function (): void {
|
||||
$firstProduct = new CouponIncoCode(35784);
|
||||
$secondProduct = new CouponIncoCode(15522);
|
||||
$firstProduct = new IncoCode(35784);
|
||||
$secondProduct = new IncoCode(15522);
|
||||
|
||||
it('is empty by default', function (): void {
|
||||
// GIVEN / WHEN
|
||||
|
|
@ -47,7 +47,7 @@ describe('coupon product array', function (): void {
|
|||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'Value of CouponProductArray must be CouponIncoCode instances.',
|
||||
'Value of CouponProductArray must be IncoCode instances.',
|
||||
);
|
||||
});
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ describe('coupon product array', function (): void {
|
|||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'Value of CouponProductArray must be CouponIncoCode instances.',
|
||||
'Value of CouponProductArray must be IncoCode instances.',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace Tests\Unit\Domain\Models\ValueObjects;
|
||||
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
|
||||
covers(CouponIncoCode::class);
|
||||
covers(IncoCode::class);
|
||||
|
||||
describe('inco code', function (): void {
|
||||
$value = 1010100101;
|
||||
|
|
@ -14,7 +14,7 @@ describe('inco code', function (): void {
|
|||
|
||||
it('creates a valid inco code', function () use ($value): void {
|
||||
// GIVEN / WHEN
|
||||
$incoCode = new CouponIncoCode($value);
|
||||
$incoCode = new IncoCode($value);
|
||||
|
||||
// THEN
|
||||
expect($incoCode->value)->toBe($value);
|
||||
|
|
@ -22,7 +22,7 @@ describe('inco code', function (): void {
|
|||
|
||||
it('rejects invalid inco code', function () use ($zeroValue): void {
|
||||
// GIVEN / WHEN / THEN
|
||||
expect(fn (): CouponIncoCode => new CouponIncoCode($zeroValue))
|
||||
expect(fn (): IncoCode => new IncoCode($zeroValue))
|
||||
->toThrow(\DomainException::class);
|
||||
});
|
||||
});
|
||||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace Tests\Unit\Domain\Models\ValueObjects;
|
||||
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Shared\Enums\Country;
|
||||
|
||||
covers(CouponProcessingCode::class);
|
||||
covers(ProcessingCode::class);
|
||||
|
||||
describe('processing code', function (): void {
|
||||
$value = '5425003944130';
|
||||
|
|
@ -15,7 +15,7 @@ describe('processing code', function (): void {
|
|||
|
||||
it('creates a valid processing code FRANCE', function () use ($value): void {
|
||||
// GIVEN / WHEN
|
||||
$processingCode = new CouponProcessingCode(
|
||||
$processingCode = new ProcessingCode(
|
||||
$value,
|
||||
Country::FRANCE,
|
||||
);
|
||||
|
|
@ -26,7 +26,7 @@ describe('processing code', function (): void {
|
|||
|
||||
it('creates a valid processing code BENELUX', function () use ($value): void {
|
||||
// GIVEN / WHEN
|
||||
$processingCode = new CouponProcessingCode(
|
||||
$processingCode = new ProcessingCode(
|
||||
$value,
|
||||
Country::BENELUX,
|
||||
);
|
||||
|
|
@ -37,7 +37,7 @@ describe('processing code', function (): void {
|
|||
|
||||
it('rejects invalid processing code', function () use ($emptyValue): void {
|
||||
// GIVEN / WHEN / THEN
|
||||
expect(fn (): CouponProcessingCode => new CouponProcessingCode(
|
||||
expect(fn (): ProcessingCode => new ProcessingCode(
|
||||
$emptyValue,
|
||||
Country::FRANCE,
|
||||
))->toThrow(\DomainException::class);
|
||||
|
|
@ -4,22 +4,22 @@ declare(strict_types=1);
|
|||
|
||||
namespace Tests\Unit\Domain\Models\ValueObjects\Coupon;
|
||||
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Shared\Enums\Country;
|
||||
|
||||
covers(CouponProcessingCodeArray::class);
|
||||
covers(ProcessingCodeArray::class);
|
||||
|
||||
describe('coupon processing code array', function (): void {
|
||||
$franceCode = new CouponProcessingCode('5425003944130', Country::FRANCE);
|
||||
$beneluxCode = new CouponProcessingCode('5425003944147', Country::BENELUX);
|
||||
$franceCode = new ProcessingCode('5425003944130', Country::FRANCE);
|
||||
$beneluxCode = new ProcessingCode('5425003944147', Country::BENELUX);
|
||||
|
||||
it('creates an array containing a France processing code', function () use ($franceCode): void {
|
||||
// GIVEN
|
||||
$processingCodes = [$franceCode];
|
||||
|
||||
// WHEN
|
||||
$array = new CouponProcessingCodeArray($processingCodes);
|
||||
$array = new ProcessingCodeArray($processingCodes);
|
||||
|
||||
// THEN
|
||||
expect($array->value)->toBe($processingCodes);
|
||||
|
|
@ -30,7 +30,7 @@ describe('coupon processing code array', function (): void {
|
|||
$processingCodes = [$beneluxCode, $franceCode];
|
||||
|
||||
// WHEN
|
||||
$array = new CouponProcessingCodeArray($processingCodes);
|
||||
$array = new ProcessingCodeArray($processingCodes);
|
||||
|
||||
// THEN
|
||||
expect($array->value)->toBe($processingCodes);
|
||||
|
|
@ -38,12 +38,12 @@ describe('coupon processing code array', function (): void {
|
|||
|
||||
it('rejects an empty array', function (): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn (): CouponProcessingCodeArray => new CouponProcessingCodeArray([]);
|
||||
$action = fn (): ProcessingCodeArray => new ProcessingCodeArray([]);
|
||||
|
||||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'ProcessingCodes requires at least one CouponProcessingCode.',
|
||||
'ProcessingCodes requires at least one ProcessingCode.',
|
||||
);
|
||||
});
|
||||
|
||||
|
|
@ -52,27 +52,27 @@ describe('coupon processing code array', function (): void {
|
|||
// GIVEN
|
||||
$informations = [
|
||||
$franceCode,
|
||||
new CouponProcessingCode('5425003944130', Country::FRANCE),
|
||||
new ProcessingCode('5425003944130', Country::FRANCE),
|
||||
];
|
||||
|
||||
// WHEN
|
||||
$action = fn (): CouponProcessingCodeArray => new CouponProcessingCodeArray($informations);
|
||||
$action = fn (): ProcessingCodeArray => new ProcessingCodeArray($informations);
|
||||
|
||||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'Only one CouponProcessingCode is allowed per country, duplicate for FRANCE.',
|
||||
'Only one ProcessingCode is allowed per country, duplicate for FRANCE.',
|
||||
);
|
||||
});
|
||||
|
||||
it('rejects a non processing code element', function (): void {
|
||||
// GIVEN / WHEN
|
||||
$action = fn (): CouponProcessingCodeArray => new CouponProcessingCodeArray(['ABC1234567890']);
|
||||
$action = fn (): ProcessingCodeArray => new ProcessingCodeArray(['ABC1234567890']);
|
||||
|
||||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'Value of CouponProcessingCodeArray must be CouponProcessingCode instances.',
|
||||
'Value of ProcessingCodeArray must be ProcessingCode instances.',
|
||||
);
|
||||
});
|
||||
|
||||
|
|
@ -81,12 +81,12 @@ describe('coupon processing code array', function (): void {
|
|||
$processingCodes = [$franceCode, 'ABC1234567890'];
|
||||
|
||||
// WHEN
|
||||
$action = fn (): CouponProcessingCodeArray => new CouponProcessingCodeArray($processingCodes);
|
||||
$action = fn (): ProcessingCodeArray => new ProcessingCodeArray($processingCodes);
|
||||
|
||||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'Value of CouponProcessingCodeArray must be CouponProcessingCode instances.',
|
||||
'Value of ProcessingCodeArray must be ProcessingCode instances.',
|
||||
);
|
||||
});
|
||||
|
||||
|
|
@ -95,12 +95,12 @@ describe('coupon processing code array', function (): void {
|
|||
$processingCodes = [$beneluxCode];
|
||||
|
||||
// WHEN
|
||||
$action = fn (): CouponProcessingCodeArray => new CouponProcessingCodeArray($processingCodes);
|
||||
$action = fn (): ProcessingCodeArray => new ProcessingCodeArray($processingCodes);
|
||||
|
||||
// THEN
|
||||
expect($action)->toThrow(
|
||||
\DomainException::class,
|
||||
'CouponProcessingCodes requires a CouponProcessingCode for France.',
|
||||
'ProcessingCodes requires a ProcessingCode for France.',
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
@ -5,20 +5,20 @@ declare(strict_types=1);
|
|||
namespace Tests\Unit\Domain\Models\ValueObjects\RequestedCoupon;
|
||||
|
||||
use DateTime;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponIncoCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponLegalInformationArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponName;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponPicture;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCode;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponProductArray;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformation;
|
||||
use Domain\Models\ValueObjects\Coupon\CouponValidityInformationArray;
|
||||
use Domain\Models\ValueObjects\IncoCode;
|
||||
use Domain\Models\ValueObjects\MoneyAmount;
|
||||
use Domain\Models\ValueObjects\Period;
|
||||
use Domain\Models\ValueObjects\PicturePath;
|
||||
use Domain\Models\ValueObjects\PrintRules;
|
||||
use Domain\Models\ValueObjects\ProcessingCode;
|
||||
use Domain\Models\ValueObjects\ProcessingCodeArray;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCoupon;
|
||||
use Domain\Models\ValueObjects\RequestedCoupon\RequestedCouponQuantity;
|
||||
use Shared\Enums\Country;
|
||||
|
|
@ -38,9 +38,9 @@ describe('requested coupon', function (): void {
|
|||
new PicturePath('files/mobileThumbnail.jpg')
|
||||
);
|
||||
|
||||
$franceProcessingCode = new CouponProcessingCode('5425003944130', Country::FRANCE);
|
||||
$beneluxProcessingCode = new CouponProcessingCode('5425003944147', Country::BENELUX);
|
||||
$couponProcessingCodes = new CouponProcessingCodeArray([
|
||||
$franceProcessingCode = new ProcessingCode('5425003944130', Country::FRANCE);
|
||||
$beneluxProcessingCode = new ProcessingCode('5425003944147', Country::BENELUX);
|
||||
$couponProcessingCodes = new ProcessingCodeArray([
|
||||
$franceProcessingCode,
|
||||
$beneluxProcessingCode,
|
||||
]);
|
||||
|
|
@ -72,8 +72,8 @@ describe('requested coupon', function (): void {
|
|||
]);
|
||||
|
||||
$couponProducts = new CouponProductArray([
|
||||
new CouponIncoCode(35784),
|
||||
new CouponIncoCode(15522),
|
||||
new IncoCode(35784),
|
||||
new IncoCode(15522),
|
||||
]);
|
||||
$printRules = new PrintRules(maxPerCustomer: 3);
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ describe('requested coupon', function (): void {
|
|||
diffusion: $diffusion,
|
||||
moneyAmount: $moneyAmount,
|
||||
couponPicture: $couponPicture,
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
$franceProcessingCode,
|
||||
]),
|
||||
couponValidityInformations: new CouponValidityInformationArray([
|
||||
|
|
@ -227,13 +227,13 @@ describe('requested coupon', function (): void {
|
|||
diffusion: $diffusion,
|
||||
moneyAmount: $moneyAmount,
|
||||
couponPicture: $couponPicture,
|
||||
couponProcessingCodes: new CouponProcessingCodeArray([
|
||||
couponProcessingCodes: new ProcessingCodeArray([
|
||||
$beneluxProcessingCode,
|
||||
]),
|
||||
couponValidityInformations: $couponValidityInformations,
|
||||
couponLegalInformations: $couponLegalInformations,
|
||||
couponProducts: $couponProducts,
|
||||
))->toThrow(\DomainException::class, 'CouponProcessingCodes requires a CouponProcessingCode for France.');
|
||||
))->toThrow(\DomainException::class, 'ProcessingCodes requires a ProcessingCode for France.');
|
||||
});
|
||||
|
||||
it('throws when a benelux processing code has no benelux validity information', function () use (
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue