Loading app/tests/NewsTests/Controller/NewsControllerTests.php +116 −42 Original line number Diff line number Diff line Loading @@ -2,7 +2,18 @@ namespace App\Tests\NewsTests\Controller; use App\News\Collection\NewsCategoryCollection; use App\News\Dto\NewsCategoryDto; use App\News\Dto\NewsDetailElementDto; use App\News\Dto\NewsFilterVariantsDto; use App\News\Dto\NewsListDto; use App\News\Dto\NewsListingElementDto; use App\Shared\Collection\ListingCollection; use App\Shared\Dto\FileDto; use App\Shared\Dto\PaginationDto; use DateTimeImmutable; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\HttpFoundation\JsonResponse; class NewsControllerTests extends WebTestCase { Loading @@ -14,14 +25,30 @@ class NewsControllerTests extends WebTestCase 'GET', '/api/v1/news/00000000-0000-0000-0000-000000000000' ); $data = $client->getResponse()->getContent(); self::assertResponseIsSuccessful(); /** Проверка получемых новостей */ self::assertStringContainsString( '"id":"00000000-0000-0000-0000-000000000000","name":"news1","description":"Preview text","createAt":"17.05.2024","text":"Detail text","image":{"id":"00000000-0000-0000-0000-000000000000","name":"file1","description":"fileDescription","size":1024,"type":"png","url":"\/somewhere\/"', $data, self::assertSame( (new JsonResponse( new NewsDetailElementDto( '00000000-0000-0000-0000-000000000000', 'news1', 'Preview text', (new DateTimeImmutable())->format('d.m.Y'), 'Detail text', new FileDto( '00000000-0000-0000-0000-000000000000', 'file1', 'fileDescription', 1024, 'png', '/somewhere/' ), ) ))->getContent(), $client->getResponse()->getContent(), 'Полученная детальная новость инккоректена' ); } Loading @@ -33,7 +60,6 @@ class NewsControllerTests extends WebTestCase 'GET', '/api/v1/news/00000000-0000-0000-0000-000000000005' ); $data = $client->getResponse()->getContent(); self::assertResponseStatusCodeSame(404); } Loading @@ -52,33 +78,62 @@ class NewsControllerTests extends WebTestCase { $client = static::createClient(); $client->request('GET', '/api/v1/news/'); $data = $client->getResponse()->getContent(); self::assertResponseIsSuccessful(); /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', $data, 'Пагинация инкорректна при пустом реквесте' $testResponse = new JsonResponse( new NewsListDto( new PaginationDto(1, 1, 12), new ListingCollection( [ new NewsListingElementDto( '00000000-0000-0000-0000-000000000000', 'news1', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000000', 'Preview text', new FileDto( '00000000-0000-0000-0000-000000000000', 'file1', 'fileDescription', 1024, 'png', '/somewhere/' ), ), new NewsListingElementDto( '00000000-0000-0000-0000-000000000001', 'news2', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000001', null, null, ), ], ), new NewsFilterVariantsDto( new NewsCategoryCollection( [ new NewsCategoryDto( '00000000-0000-0000-0000-000000000000', 'newsCategory1', 'newsCategory_1', ), new NewsCategoryDto( '00000000-0000-0000-0000-000000000001', 'newsCategory2', 'newsCategory_2', ), ] ), ), ), ); /** Проверка получемых новостей */ self::assertStringContainsString( '"list":[{"id":"00000000-0000-0000-0000-000000000000","name":"news1","detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000000","createAt":"17.05.2024","description":"Preview text","image":{"id":"00000000-0000-0000-0000-000000000000","name":"file1","description":"fileDescription","size":1024,"type":"png","url":"\/somewhere\/"}},{"id":"00000000-0000-0000-0000-000000000001","name":"news2","detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000001","createAt":"17.05.2024","description":null,"image":null}]', $data, 'Полученный список новостей инккоректен при пустом реквесте' ); /** Проверка фильтров */ self::assertStringContainsString( '"filterVariants"' . ':{"category":[{"id":"00000000-0000-0000-0000-000000000000",' . '"name":"newsCategory1","code":"newsCategory_1"},' . '{"id":"00000000-0000-0000-0000-000000000001",' . '"name":"newsCategory2","code":"newsCategory_2"}]}', $data, 'Пагинация инкорректна при пустом реквесте' self::assertSame( $testResponse->getContent(), $client->getResponse()->getContent(), 'Полученное тело респонза неверно' ); } Loading @@ -92,9 +147,9 @@ class NewsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12)))->getContent(), $data, 'Пагинация инкорректна при негативных значениях' 'Пагинация инкоректна' ); } Loading @@ -108,9 +163,9 @@ class NewsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12)))->getContent(), $data, 'Пагинация инкорректна при позитивных значениях' 'Пагинация инкоректна' ); } Loading @@ -125,19 +180,38 @@ class NewsControllerTests extends WebTestCase self::assertResponseIsSuccessful(); /** Проверка получемых новостей */ self::assertStringNotContainsString( '"list":[{"id":"00000000-0000-0000-0000-000000000000",' . '"name":"news1","createAt":"2024-05-15 09:55:45",' . '"detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000000"' . ',"description":"Preview text",' . '"image":{"id":"00000000-0000-0000-0000-000000000000",' . '"name":"file1","description":"fileDescription","size":1024,' . '"type":"png","url":"\/somewhere\/"}},' . '{"id":"00000000-0000-0000-0000-000000000001",' . '"name":"news2","createAt":"2024-05-15 09:55:45",' . '"detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000001",' . '"description":null,"image":null}]', (new JsonResponse( new ListingCollection( [ new NewsListingElementDto( '00000000-0000-0000-0000-000000000000', 'news1', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000000', 'Preview text', new FileDto( '00000000-0000-0000-0000-000000000000', 'file1', 'fileDescription', 1024, 'png', '/somewhere/', ), ), new NewsListingElementDto( '00000000-0000-0000-0000-000000000001', 'news2', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000001', null, null, ), ] ) ))->getContent(), $data, 'Полученный список новостей инккоректен при правильном фильтре' ); Loading app/tests/RestaurantTests/Controller/RestaurantsControllerTests.php +121 −7 Original line number Diff line number Diff line Loading @@ -2,7 +2,22 @@ namespace App\Tests\RestaurantTests\Controller; use App\Restaurants\Collection\KitchenCollection; use App\Restaurants\Collection\RestaurantTypeCollection; use App\Restaurants\Collection\TagCollection; use App\Restaurants\Dto\KitchenTypeDto; use App\Restaurants\Dto\RestaurantDetailElementDto; use App\Restaurants\Dto\RestaurantFilterVariantsDto; use App\Restaurants\Dto\RestaurantListingElementDto; use App\Restaurants\Dto\RestaurantTypeDto; use App\Restaurants\Dto\TagDto; use App\Shared\Collection\FileCollection; use App\Shared\Collection\ListingCollection; use App\Shared\Collection\StringCollection; use App\Shared\Dto\FileDto; use App\Shared\Dto\PaginationDto; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\HttpFoundation\JsonResponse; class RestaurantsControllerTests extends WebTestCase { Loading @@ -18,8 +33,56 @@ class RestaurantsControllerTests extends WebTestCase self::assertResponseIsSuccessful(); self::assertStringContainsString( '"id":"00000000-0000-0000-0000-000000000000","name":"Restaurant1","code":"restaurant_1","coordinates":"0.0.0.0","type":{"id":"00000000-0000-0000-0000-000000000001","name":"Type2","code":"type_2"},"check":"check1","check_info":"check1Info","kitchen":[{"id":"00000000-0000-0000-0000-000000000000","name":"Kitchen1","code":"kitchen_1"}],"phone":{"phone1":"+7000000000"},"email":{"email":"base@gmail.com"},"address":{"address":"somewhere"},"tags":[{"name":"setTags1","list":["tag1","tag2","tag3"]},{"name":"setTags2","list":["tag1","tag2","tag3"]}],"site":"www.restaurant.ru","image":{"id":"00000000-0000-0000-0000-000000000001","name":"image1","description":"description","size":512,"type":"jpg","url":"\/here\/"},"gallery":[]}', self::assertSame( (new JsonResponse( new RestaurantDetailElementDto( '00000000-0000-0000-0000-000000000000', 'Restaurant1', 'restaurant_1', '0.0.0.0', new RestaurantTypeDto( '00000000-0000-0000-0000-000000000001', 'Type2', 'type_2', ), 'check1', 'check1Info', new KitchenCollection( [ new KitchenTypeDto( '00000000-0000-0000-0000-000000000000', 'Kitchen1', 'kitchen_1' ), ] ), new StringCollection(['phone1' => '+7000000000']), new StringCollection(['email' => 'base@gmail.com']), new StringCollection(['address' => 'somewhere']), new TagCollection( [ new TagDto( 'setTags1', new StringCollection(['tag1', 'tag2', 'tag3']) ), new TagDto( 'setTags2', new StringCollection(['tag1', 'tag2', 'tag3']) ), ] ), 'www.restaurant.ru', new FileDto( '00000000-0000-0000-0000-000000000001', 'image1', 'description', 512, 'jpg', '/here/' ), new FileCollection([]) ) ))->getContent(), $data, 'Полученная детальная новость инккоректена' ); Loading Loading @@ -55,21 +118,72 @@ class RestaurantsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12),))->getContent(), $data, 'Пагинация инкорректна при пустом реквесте' ); /** Проверка получемых новостей */ self::assertStringContainsString( '"list":[{"id":"00000000-0000-0000-0000-000000000000","name":"Restaurant1","detailLink":"api\/v1\/restaurants\/00000000-0000-0000-0000-000000000000","code":"restaurant_1","type":{"id":"00000000-0000-0000-0000-000000000001","name":"Type2","code":"type_2"},"check":"check1","image":{"id":"00000000-0000-0000-0000-000000000001","name":"image1","description":"description","size":512,"type":"jpg","url":"\/here', (new JsonResponse( new ListingCollection( [ new RestaurantListingElementDto( '00000000-0000-0000-0000-000000000000', 'Restaurant1', 'restaurant_1', new RestaurantTypeDto( '00000000-0000-0000-0000-000000000001', 'Type2', 'type_2', ), 'api/v1/restaurants/00000000-0000-0000-0000-000000000000', 'check1', new FileDto( '00000000-0000-0000-0000-000000000001', 'image1', 'description', 512, 'jpg', '/here/' ), ), ] ) ))->getContent(), $data, 'Полученный список новостей инккоректен при пустом реквесте' ); /** Проверка фильтров */ self::assertStringContainsString( '"filterVariants":{"type":[{"id":"00000000-0000-0000-0000-000000000000","name":"Type1","code":"type_1"},{"id":"00000000-0000-0000-0000-000000000001","name":"Type2","code":"type_2"}],"kitchen":[{"id":"00000000-0000-0000-0000-000000000000","name":"Kitchen1","code":"kitchen_1"}]}', (new JsonResponse( new RestaurantFilterVariantsDto( new RestaurantTypeCollection( [ new RestaurantTypeDto( '00000000-0000-0000-0000-000000000000', 'Type1', 'type_1', ), new RestaurantTypeDto( '00000000-0000-0000-0000-000000000001', 'Type2', 'type_2', ), ] ), new KitchenCollection( [ new KitchenTypeDto( '00000000-0000-0000-0000-000000000000', 'Kitchen1', 'kitchen_1', ) ] ) ) ))->getContent(), $data, 'Пагинация инкорректна при пустом реквесте' ); Loading @@ -85,7 +199,7 @@ class RestaurantsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12),))->getContent(), $data, 'Пагинация инкорректна при негативных значениях' ); Loading @@ -101,7 +215,7 @@ class RestaurantsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12),))->getContent(), $data, 'Пагинация инкорректна при позитивных значениях' ); Loading Loading
app/tests/NewsTests/Controller/NewsControllerTests.php +116 −42 Original line number Diff line number Diff line Loading @@ -2,7 +2,18 @@ namespace App\Tests\NewsTests\Controller; use App\News\Collection\NewsCategoryCollection; use App\News\Dto\NewsCategoryDto; use App\News\Dto\NewsDetailElementDto; use App\News\Dto\NewsFilterVariantsDto; use App\News\Dto\NewsListDto; use App\News\Dto\NewsListingElementDto; use App\Shared\Collection\ListingCollection; use App\Shared\Dto\FileDto; use App\Shared\Dto\PaginationDto; use DateTimeImmutable; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\HttpFoundation\JsonResponse; class NewsControllerTests extends WebTestCase { Loading @@ -14,14 +25,30 @@ class NewsControllerTests extends WebTestCase 'GET', '/api/v1/news/00000000-0000-0000-0000-000000000000' ); $data = $client->getResponse()->getContent(); self::assertResponseIsSuccessful(); /** Проверка получемых новостей */ self::assertStringContainsString( '"id":"00000000-0000-0000-0000-000000000000","name":"news1","description":"Preview text","createAt":"17.05.2024","text":"Detail text","image":{"id":"00000000-0000-0000-0000-000000000000","name":"file1","description":"fileDescription","size":1024,"type":"png","url":"\/somewhere\/"', $data, self::assertSame( (new JsonResponse( new NewsDetailElementDto( '00000000-0000-0000-0000-000000000000', 'news1', 'Preview text', (new DateTimeImmutable())->format('d.m.Y'), 'Detail text', new FileDto( '00000000-0000-0000-0000-000000000000', 'file1', 'fileDescription', 1024, 'png', '/somewhere/' ), ) ))->getContent(), $client->getResponse()->getContent(), 'Полученная детальная новость инккоректена' ); } Loading @@ -33,7 +60,6 @@ class NewsControllerTests extends WebTestCase 'GET', '/api/v1/news/00000000-0000-0000-0000-000000000005' ); $data = $client->getResponse()->getContent(); self::assertResponseStatusCodeSame(404); } Loading @@ -52,33 +78,62 @@ class NewsControllerTests extends WebTestCase { $client = static::createClient(); $client->request('GET', '/api/v1/news/'); $data = $client->getResponse()->getContent(); self::assertResponseIsSuccessful(); /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', $data, 'Пагинация инкорректна при пустом реквесте' $testResponse = new JsonResponse( new NewsListDto( new PaginationDto(1, 1, 12), new ListingCollection( [ new NewsListingElementDto( '00000000-0000-0000-0000-000000000000', 'news1', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000000', 'Preview text', new FileDto( '00000000-0000-0000-0000-000000000000', 'file1', 'fileDescription', 1024, 'png', '/somewhere/' ), ), new NewsListingElementDto( '00000000-0000-0000-0000-000000000001', 'news2', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000001', null, null, ), ], ), new NewsFilterVariantsDto( new NewsCategoryCollection( [ new NewsCategoryDto( '00000000-0000-0000-0000-000000000000', 'newsCategory1', 'newsCategory_1', ), new NewsCategoryDto( '00000000-0000-0000-0000-000000000001', 'newsCategory2', 'newsCategory_2', ), ] ), ), ), ); /** Проверка получемых новостей */ self::assertStringContainsString( '"list":[{"id":"00000000-0000-0000-0000-000000000000","name":"news1","detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000000","createAt":"17.05.2024","description":"Preview text","image":{"id":"00000000-0000-0000-0000-000000000000","name":"file1","description":"fileDescription","size":1024,"type":"png","url":"\/somewhere\/"}},{"id":"00000000-0000-0000-0000-000000000001","name":"news2","detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000001","createAt":"17.05.2024","description":null,"image":null}]', $data, 'Полученный список новостей инккоректен при пустом реквесте' ); /** Проверка фильтров */ self::assertStringContainsString( '"filterVariants"' . ':{"category":[{"id":"00000000-0000-0000-0000-000000000000",' . '"name":"newsCategory1","code":"newsCategory_1"},' . '{"id":"00000000-0000-0000-0000-000000000001",' . '"name":"newsCategory2","code":"newsCategory_2"}]}', $data, 'Пагинация инкорректна при пустом реквесте' self::assertSame( $testResponse->getContent(), $client->getResponse()->getContent(), 'Полученное тело респонза неверно' ); } Loading @@ -92,9 +147,9 @@ class NewsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12)))->getContent(), $data, 'Пагинация инкорректна при негативных значениях' 'Пагинация инкоректна' ); } Loading @@ -108,9 +163,9 @@ class NewsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12)))->getContent(), $data, 'Пагинация инкорректна при позитивных значениях' 'Пагинация инкоректна' ); } Loading @@ -125,19 +180,38 @@ class NewsControllerTests extends WebTestCase self::assertResponseIsSuccessful(); /** Проверка получемых новостей */ self::assertStringNotContainsString( '"list":[{"id":"00000000-0000-0000-0000-000000000000",' . '"name":"news1","createAt":"2024-05-15 09:55:45",' . '"detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000000"' . ',"description":"Preview text",' . '"image":{"id":"00000000-0000-0000-0000-000000000000",' . '"name":"file1","description":"fileDescription","size":1024,' . '"type":"png","url":"\/somewhere\/"}},' . '{"id":"00000000-0000-0000-0000-000000000001",' . '"name":"news2","createAt":"2024-05-15 09:55:45",' . '"detailLink":"api\/v1\/news\/00000000-0000-0000-0000-000000000001",' . '"description":null,"image":null}]', (new JsonResponse( new ListingCollection( [ new NewsListingElementDto( '00000000-0000-0000-0000-000000000000', 'news1', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000000', 'Preview text', new FileDto( '00000000-0000-0000-0000-000000000000', 'file1', 'fileDescription', 1024, 'png', '/somewhere/', ), ), new NewsListingElementDto( '00000000-0000-0000-0000-000000000001', 'news2', (new DateTimeImmutable())->format('d.m.Y'), 'api/v1/news/00000000-0000-0000-0000-000000000001', null, null, ), ] ) ))->getContent(), $data, 'Полученный список новостей инккоректен при правильном фильтре' ); Loading
app/tests/RestaurantTests/Controller/RestaurantsControllerTests.php +121 −7 Original line number Diff line number Diff line Loading @@ -2,7 +2,22 @@ namespace App\Tests\RestaurantTests\Controller; use App\Restaurants\Collection\KitchenCollection; use App\Restaurants\Collection\RestaurantTypeCollection; use App\Restaurants\Collection\TagCollection; use App\Restaurants\Dto\KitchenTypeDto; use App\Restaurants\Dto\RestaurantDetailElementDto; use App\Restaurants\Dto\RestaurantFilterVariantsDto; use App\Restaurants\Dto\RestaurantListingElementDto; use App\Restaurants\Dto\RestaurantTypeDto; use App\Restaurants\Dto\TagDto; use App\Shared\Collection\FileCollection; use App\Shared\Collection\ListingCollection; use App\Shared\Collection\StringCollection; use App\Shared\Dto\FileDto; use App\Shared\Dto\PaginationDto; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Symfony\Component\HttpFoundation\JsonResponse; class RestaurantsControllerTests extends WebTestCase { Loading @@ -18,8 +33,56 @@ class RestaurantsControllerTests extends WebTestCase self::assertResponseIsSuccessful(); self::assertStringContainsString( '"id":"00000000-0000-0000-0000-000000000000","name":"Restaurant1","code":"restaurant_1","coordinates":"0.0.0.0","type":{"id":"00000000-0000-0000-0000-000000000001","name":"Type2","code":"type_2"},"check":"check1","check_info":"check1Info","kitchen":[{"id":"00000000-0000-0000-0000-000000000000","name":"Kitchen1","code":"kitchen_1"}],"phone":{"phone1":"+7000000000"},"email":{"email":"base@gmail.com"},"address":{"address":"somewhere"},"tags":[{"name":"setTags1","list":["tag1","tag2","tag3"]},{"name":"setTags2","list":["tag1","tag2","tag3"]}],"site":"www.restaurant.ru","image":{"id":"00000000-0000-0000-0000-000000000001","name":"image1","description":"description","size":512,"type":"jpg","url":"\/here\/"},"gallery":[]}', self::assertSame( (new JsonResponse( new RestaurantDetailElementDto( '00000000-0000-0000-0000-000000000000', 'Restaurant1', 'restaurant_1', '0.0.0.0', new RestaurantTypeDto( '00000000-0000-0000-0000-000000000001', 'Type2', 'type_2', ), 'check1', 'check1Info', new KitchenCollection( [ new KitchenTypeDto( '00000000-0000-0000-0000-000000000000', 'Kitchen1', 'kitchen_1' ), ] ), new StringCollection(['phone1' => '+7000000000']), new StringCollection(['email' => 'base@gmail.com']), new StringCollection(['address' => 'somewhere']), new TagCollection( [ new TagDto( 'setTags1', new StringCollection(['tag1', 'tag2', 'tag3']) ), new TagDto( 'setTags2', new StringCollection(['tag1', 'tag2', 'tag3']) ), ] ), 'www.restaurant.ru', new FileDto( '00000000-0000-0000-0000-000000000001', 'image1', 'description', 512, 'jpg', '/here/' ), new FileCollection([]) ) ))->getContent(), $data, 'Полученная детальная новость инккоректена' ); Loading Loading @@ -55,21 +118,72 @@ class RestaurantsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12),))->getContent(), $data, 'Пагинация инкорректна при пустом реквесте' ); /** Проверка получемых новостей */ self::assertStringContainsString( '"list":[{"id":"00000000-0000-0000-0000-000000000000","name":"Restaurant1","detailLink":"api\/v1\/restaurants\/00000000-0000-0000-0000-000000000000","code":"restaurant_1","type":{"id":"00000000-0000-0000-0000-000000000001","name":"Type2","code":"type_2"},"check":"check1","image":{"id":"00000000-0000-0000-0000-000000000001","name":"image1","description":"description","size":512,"type":"jpg","url":"\/here', (new JsonResponse( new ListingCollection( [ new RestaurantListingElementDto( '00000000-0000-0000-0000-000000000000', 'Restaurant1', 'restaurant_1', new RestaurantTypeDto( '00000000-0000-0000-0000-000000000001', 'Type2', 'type_2', ), 'api/v1/restaurants/00000000-0000-0000-0000-000000000000', 'check1', new FileDto( '00000000-0000-0000-0000-000000000001', 'image1', 'description', 512, 'jpg', '/here/' ), ), ] ) ))->getContent(), $data, 'Полученный список новостей инккоректен при пустом реквесте' ); /** Проверка фильтров */ self::assertStringContainsString( '"filterVariants":{"type":[{"id":"00000000-0000-0000-0000-000000000000","name":"Type1","code":"type_1"},{"id":"00000000-0000-0000-0000-000000000001","name":"Type2","code":"type_2"}],"kitchen":[{"id":"00000000-0000-0000-0000-000000000000","name":"Kitchen1","code":"kitchen_1"}]}', (new JsonResponse( new RestaurantFilterVariantsDto( new RestaurantTypeCollection( [ new RestaurantTypeDto( '00000000-0000-0000-0000-000000000000', 'Type1', 'type_1', ), new RestaurantTypeDto( '00000000-0000-0000-0000-000000000001', 'Type2', 'type_2', ), ] ), new KitchenCollection( [ new KitchenTypeDto( '00000000-0000-0000-0000-000000000000', 'Kitchen1', 'kitchen_1', ) ] ) ) ))->getContent(), $data, 'Пагинация инкорректна при пустом реквесте' ); Loading @@ -85,7 +199,7 @@ class RestaurantsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12),))->getContent(), $data, 'Пагинация инкорректна при негативных значениях' ); Loading @@ -101,7 +215,7 @@ class RestaurantsControllerTests extends WebTestCase /** Проверка пагинации */ self::assertStringContainsString( '"pagination":{"currentPage":1,"pages":1,"pageSize":12}', (new JsonResponse(new PaginationDto(1, 1, 12),))->getContent(), $data, 'Пагинация инкорректна при позитивных значениях' ); Loading