toBeInstanceOf(BrandMapper::class); }); it('can map kiota model to a brand dto', function () { // GIVEN $kiotaModel = new KiotaBrand(); $kiotaModel->setName('Test Brand'); $kiotaModel->setCode('LGL39'); $kiotaModel->setArcadiaId('arcadia-id'); $kiotaModel->setCreatedAt(new \DateTime()); // WHEN $brandDto = (new BrandMapper())->toDto($kiotaModel); // THEN expect($brandDto)->toBeInstanceOf(Brand::class); expect($brandDto->label)->toBe('Test Brand'); expect($brandDto->code->value)->toBe('LGL39'); expect($brandDto->arcadiaId)->toBe('arcadia-id'); expect($brandDto->createdAt)->toBeInstanceOf(\DateTime::class); }); it('can map all properties from kiota model to brand dto', function () { // GIVEN [ $pagination, $paginationMeta, ] = generaterFirstPagePaginationMeta(); $response = new BrandListResponse(); $response->setBrands([]); $response->setPagination($paginationMeta); // WHEN $brandPageDto = (new BrandMapper())->toPage($response, $pagination); // THEN expect($brandPageDto)->toBeInstanceOf(PageOf::class); expect($brandPageDto->items())->toBeArray(); expect($brandPageDto->pagination())->toBeInstanceOf(PaginationDto::class); }); });