| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Tests\Application\Person;
- use App\Entity\Access\Access;
- use App\Entity\Organization\Organization;
- use App\Entity\Organization\Settings;
- use App\Entity\Public\PublicEvent;
- use App\Enum\Organization\PrincipalTypeEnum;
- use App\Enum\Organization\SettingsProductEnum;
- use App\Tests\Application\OtWebTestCase;
- use App\Entity\Person;
- use App\Tests\Fixture\Factory\Access\AccessFactory;
- use App\Tests\Fixture\Factory\Organization\OrganizationFactory;
- use App\Tests\Fixture\Factory\Organization\SettingsFactory;
- use App\Tests\Fixture\Factory\Person\PersonFactory;
- use App\Tests\Fixture\PersonFixtures;
- use Zenstruck\Foundry\Factory;
- use Zenstruck\Foundry\Proxy;
- use App\Enum\Organization\LegalEnum;
- class PersonTest extends OtWebTestCase
- {
- private Proxy | Person $person;
- private Proxy | Organization $organization;
- private Proxy | Access $access;
- private Proxy | Settings $settings;
- protected function setFixtures(): void
- {
- $this->person = PersonFactory::createOne(
- [
- 'username' => 'username',
- 'password' => 'password'
- ]
- );
- $this->organization = OrganizationFactory::createOne([
- 'legalStatus' => LegalEnum::ASSOCIATION_LAW_1901()->getValue(),
- 'principalType' => PrincipalTypeEnum::ARTISTIC_EDUCATION_ONLY()->getValue(),
- 'name' => 'My Organization'
- ]);
- $this->settings = SettingsFactory::createOne([
- 'product' => SettingsProductEnum::ARTIST(),
- 'organization' => $this->organization
- ]);
- $this->access = AccessFactory::createOne([
- 'person' => $this->person,
- 'organization' => $this->organization,
- 'roles' => ['ROLE_USERS_VIEW']
- ]);
- }
- public function testPersonGet(): void
- {
- $this->loginAs($this->access);
- $this->get('/api/people/' . $this->person->getId());
- $this->validateCollectionSchema(Person::class);
- $this->assertJsonContains([
- '@context' => '/api/contexts/Person',
- '@id' => '/api/people/' . $this->person->getId(),
- '@type' => 'Person',
- 'username' => 'username'
- ]);
- }
- public function testPersonGetCollection(): void {
- // TODO: get collection is not permitted
- }
- public function testPersonPut(): void {
- // TODO: put is not permitted
- }
- public function testPersonPost(): void {
- // TODO: post is not permitted
- }
- public function testPersonDelete(): void {
- // TODO: delete is not permitted
- }
- }
|