| @@ -50,7 +50,7 @@ final class ProductFactory extends ModelFactory | |||||
| return [ | return [ | ||||
| 'name' => self::faker()->randomElement(FakeValues::PRODUCTS), | 'name' => self::faker()->randomElement(FakeValues::PRODUCTS), | ||||
| 'description' => self::faker()->text(), | 'description' => self::faker()->text(), | ||||
| 'image' => MediaObjectProductFactory::random(), | |||||
| 'image' => MediaObjectProductFactory::createOne(), | |||||
| ]; | ]; | ||||
| } | } | ||||
| @@ -52,7 +52,7 @@ final class UserFactory extends ModelFactory | |||||
| 'email' => self::faker()->email(), | 'email' => self::faker()->email(), | ||||
| 'firstName' => self::faker()->firstName(), | 'firstName' => self::faker()->firstName(), | ||||
| 'lastName' => self::faker()->lastName(), | 'lastName' => self::faker()->lastName(), | ||||
| 'image' => MediaObjectUserFactory::random(), | |||||
| 'image' => MediaObjectUserFactory::createOne(), | |||||
| 'password' => "test", | 'password' => "test", | ||||
| 'roles' => [], | 'roles' => [], | ||||
| ]; | ]; | ||||
| @@ -56,7 +56,7 @@ class ContactResourceTest extends KernelTestCase | |||||
| 'lastName' => 'Test', | 'lastName' => 'Test', | ||||
| 'partner' => '/api/partners/' . $partner->getId(), | 'partner' => '/api/partners/' . $partner->getId(), | ||||
| 'birthday' => '1984-02-10', | 'birthday' => '1984-02-10', | ||||
| 'image' => '/api/medias/' . $mediaObject->getId(), | |||||
| 'image' => '/api/media/' . $mediaObject->getId(), | |||||
| 'position' => 'CEO', | 'position' => 'CEO', | ||||
| 'phone' => '123456789', | 'phone' => '123456789', | ||||
| 'email' => 'peter@test2.de', | 'email' => 'peter@test2.de', | ||||
| @@ -80,7 +80,7 @@ class ContactResourceTest extends KernelTestCase | |||||
| ; | ; | ||||
| $this->browser() | $this->browser() | ||||
| ->delete('/api/medias/' . $mediaObject->getId(), [ | |||||
| ->delete('/api/media/' . $mediaObject->getId(), [ | |||||
| 'headers' => [ | 'headers' => [ | ||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| ], | ], | ||||
| @@ -53,7 +53,7 @@ class MediaObjectResourceTest extends KernelTestCase | |||||
| $token = $this->JWTManager->create($user->object()); | $token = $this->JWTManager->create($user->object()); | ||||
| $this->browser() | $this->browser() | ||||
| ->post('/api/medias', [ | |||||
| ->post('/api/media', [ | |||||
| 'headers' => [ | 'headers' => [ | ||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| 'Content-Type' => 'multipart/form-data' | 'Content-Type' => 'multipart/form-data' | ||||
| @@ -72,14 +72,14 @@ class MediaObjectResourceTest extends KernelTestCase | |||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| ], | ], | ||||
| 'json' => [ | 'json' => [ | ||||
| 'logo' => '/api/medias/1' | |||||
| 'logo' => '/api/media/1' | |||||
| ] | ] | ||||
| ]) | ]) | ||||
| ->assertSuccessful() | ->assertSuccessful() | ||||
| ; | ; | ||||
| $this->browser() | $this->browser() | ||||
| ->delete('/api/medias/1', [ | |||||
| ->delete('/api/media/1', [ | |||||
| 'headers' => [ | 'headers' => [ | ||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| 'Content-Type' => 'multipart/form-data' | 'Content-Type' => 'multipart/form-data' | ||||
| @@ -102,7 +102,7 @@ class MediaObjectResourceTest extends KernelTestCase | |||||
| ); | ); | ||||
| $token = $this->JWTManager->create($user->object()); | $token = $this->JWTManager->create($user->object()); | ||||
| $this->browser() | $this->browser() | ||||
| ->delete('/api/medias/' . $mediaObject->getId(), [ | |||||
| ->delete('/api/media/' . $mediaObject->getId(), [ | |||||
| 'headers' => [ | 'headers' => [ | ||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| 'Content-Type' => 'multipart/form-data' | 'Content-Type' => 'multipart/form-data' | ||||
| @@ -55,7 +55,7 @@ class PartnerResourceTest extends KernelTestCase | |||||
| 'city' => 'test city', | 'city' => 'test city', | ||||
| 'country' => 'test country', | 'country' => 'test country', | ||||
| 'website' => 'wwe.test.de', | 'website' => 'wwe.test.de', | ||||
| 'logo' => '/api/medias/' . $mediaObject->getId(), | |||||
| 'logo' => '/api/media/' . $mediaObject->getId(), | |||||
| ], | ], | ||||
| 'headers' => [ | 'headers' => [ | ||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| @@ -79,7 +79,7 @@ class PartnerResourceTest extends KernelTestCase | |||||
| ; | ; | ||||
| $this->browser() | $this->browser() | ||||
| ->delete('/api/medias/' . $mediaObject->getId(), [ | |||||
| ->delete('/api/media/' . $mediaObject->getId(), [ | |||||
| 'headers' => [ | 'headers' => [ | ||||
| 'Authorization' => 'Bearer ' . $token, | 'Authorization' => 'Bearer ' . $token, | ||||
| ], | ], | ||||
| @@ -0,0 +1,76 @@ | |||||
| <?php | |||||
| /** | |||||
| * @author Daniel Knudsen <d.knudsen@spawntree.de> | |||||
| * @date 12.12.23 | |||||
| */ | |||||
| namespace App\Tests\Functional; | |||||
| use App\Factory\ContactFactory; | |||||
| use App\Factory\MediaObjectLogoFactory; | |||||
| use App\Factory\MediaObjectContactFactory; | |||||
| use App\Factory\MediaObjectProductFactory; | |||||
| use App\Factory\MediaObjectUserFactory; | |||||
| use App\Factory\PartnerFactory; | |||||
| use App\Factory\PostingFactory; | |||||
| use App\Factory\UserFactory; | |||||
| use Lexik\Bundle\JWTAuthenticationBundle\Services\JWTTokenManagerInterface; | |||||
| use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; | |||||
| use Zenstruck\Browser\Test\HasBrowser; | |||||
| use Zenstruck\Foundry\Test\Factories; | |||||
| use Zenstruck\Foundry\Test\ResetDatabase; | |||||
| class ProductResourceTest extends KernelTestCase | |||||
| { | |||||
| use HasBrowser; | |||||
| use ResetDatabase; | |||||
| use Factories; | |||||
| private JWTTokenManagerInterface $JWTManager; | |||||
| protected function setUp(): void | |||||
| { | |||||
| parent::setUp(); | |||||
| $this->JWTManager = self::getContainer()->get('lexik_jwt_authentication.jwt_manager'); | |||||
| } | |||||
| public function testPostProduct(): void | |||||
| { | |||||
| $user = UserFactory::createOne( | |||||
| [ | |||||
| 'email' => 'peter@test.de', | |||||
| 'firstName' => 'Peter', | |||||
| 'lastName' => 'Test', | |||||
| 'password' => 'test', | |||||
| ] | |||||
| ); | |||||
| $mediaObject = MediaObjectProductFactory::createOne(); | |||||
| $token = $this->JWTManager->create($user->object()); | |||||
| $this->browser() | |||||
| ->post('/api/products' , [ | |||||
| 'json' => [ | |||||
| 'name' => 'Test', | |||||
| 'description' => 'more test', | |||||
| 'image' => '/api/media/' . $mediaObject->getId(), | |||||
| ], | |||||
| 'headers' => [ | |||||
| 'Authorization' => 'Bearer ' . $token, | |||||
| ] | |||||
| ]) | |||||
| ->assertSuccessful() | |||||
| ; | |||||
| $this->browser() | |||||
| ->get('/api/products', [ | |||||
| 'headers' => [ | |||||
| 'Authorization' => 'Bearer ' . $token, | |||||
| ], | |||||
| ]) | |||||
| ->assertSuccessful() | |||||
| ->assertJsonMatches('"hydra:totalItems"', 1) | |||||
| ; | |||||
| } | |||||
| } | |||||