44
55namespace PhpList \RestBundle \Tests \Integration \Subscription \Controller ;
66
7- use PhpList \Core \Domain \Subscription \Model \Subscriber ;
8- use PhpList \Core \Domain \Subscription \Model \SubscriberAttributeDefinition ;
9- use PhpList \Core \Domain \Subscription \Model \SubscriberAttributeValue ;
107use PhpList \RestBundle \Subscription \Controller \SubscribePageController ;
118use PhpList \RestBundle \Tests \Integration \Common \AbstractTestController ;
129use PhpList \RestBundle \Tests \Integration \Identity \Fixtures \AdministratorFixture ;
1310use PhpList \RestBundle \Tests \Integration \Identity \Fixtures \AdministratorTokenFixture ;
1411use PhpList \RestBundle \Tests \Integration \Subscription \Fixtures \SubscribePageFixture ;
15- use PhpList \RestBundle \Tests \Integration \Subscription \Fixtures \SubscriberAttributeDefinitionFixture ;
16- use PhpList \RestBundle \Tests \Integration \Subscription \Fixtures \SubscriberListFixture ;
1712
1813class SubscribePageControllerTest extends AbstractTestController
1914{
@@ -80,7 +75,7 @@ public function testCreateSubscribePageWithoutSessionReturnsForbidden(): void
8075 ],
8176 ], JSON_THROW_ON_ERROR );
8277
83- $ this ->jsonRequest ('POST ' , '/api/v2/subscribe-pages ' , content: $ payload );
78+ $ this ->jsonRequest ('POST ' , '/api/v2/subscribe-pages/ ' , content: $ payload );
8479
8580 $ this ->assertHttpForbidden ();
8681 }
@@ -96,7 +91,7 @@ public function testCreateSubscribePageWithSessionCreatesPage(): void
9691 ],
9792 ], JSON_THROW_ON_ERROR );
9893
99- $ this ->authenticatedJsonRequest ('POST ' , '/api/v2/subscribe-pages ' , content: $ payload );
94+ $ this ->authenticatedJsonRequest ('POST ' , '/api/v2/subscribe-pages/ ' , content: $ payload );
10095
10196 $ this ->assertHttpCreated ();
10297 $ data = $ this ->getDecodedJsonResponseContent ();
@@ -143,7 +138,7 @@ public function testCreateSubscribePageWithDataMissingValueReturnsUnprocessableE
143138 ],
144139 ], JSON_THROW_ON_ERROR );
145140
146- $ this ->authenticatedJsonRequest ('POST ' , '/api/v2/subscribe-pages ' , content: $ payload );
141+ $ this ->authenticatedJsonRequest ('POST ' , '/api/v2/subscribe-pages/ ' , content: $ payload );
147142 $ this ->assertHttpUnprocessableEntity ();
148143 }
149144
@@ -221,44 +216,4 @@ public function testDeleteSubscribePageWithSessionNotFound(): void
221216 $ this ->authenticatedJsonRequest ('DELETE ' , '/api/v2/subscribe-pages/9999 ' );
222217 $ this ->assertHttpNotFound ();
223218 }
224-
225- public function testPublicSubscribeCreatesSubscriptionAndAttributes (): void
226- {
227- $ this ->loadFixtures ([
228- AdministratorFixture::class,
229- SubscribePageFixture::class,
230- SubscriberListFixture::class,
231- SubscriberAttributeDefinitionFixture::class,
232- ]);
233-
234- $ payload = json_encode ([
235- 'email ' => 'public@example.com ' ,
236- 'confirmEmail ' => 'public@example.com ' ,
237- 'attributes ' => [
238- 'Country ' => 'Armenia ' ,
239- ],
240- ]);
241-
242- $ this ->jsonRequest ('POST ' , '/api/v2/subscribe-pages/1/lists/1/subscribers ' , [], [], [], $ payload );
243- $ this ->assertHttpCreated ();
244-
245- $ response = $ this ->getDecodedJsonResponseContent ();
246- self ::assertSame ('public@example.com ' , $ response [0 ]['subscriber ' ]['email ' ] ?? null );
247-
248- $ subscriber = $ this ->entityManager ?->getRepository(Subscriber::class)
249- ->findOneBy (['email ' => 'public@example.com ' ]);
250- self ::assertInstanceOf (Subscriber::class, $ subscriber );
251-
252- $ definition = $ this ->entityManager ?->getRepository(SubscriberAttributeDefinition::class)
253- ->findOneBy (['name ' => 'Country ' ]);
254- self ::assertInstanceOf (SubscriberAttributeDefinition::class, $ definition );
255-
256- $ value = $ this ->entityManager ?->getRepository(SubscriberAttributeValue::class)
257- ->findOneBy ([
258- 'subscriber ' => $ subscriber ,
259- 'attributeDefinition ' => $ definition ,
260- ]);
261- self ::assertInstanceOf (SubscriberAttributeValue::class, $ value );
262- self ::assertSame ('Armenia ' , $ value ->getValue ());
263- }
264219}
0 commit comments