renamed entity

This commit is contained in:
Charles 2026-02-16 16:52:12 +01:00
parent 3df22c2dbf
commit 72b40e965a
19 changed files with 140 additions and 81 deletions

View File

@ -0,0 +1,53 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20260216155056 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('DROP SEQUENCE user_organizaton_app_id_seq CASCADE');
$this->addSql('CREATE TABLE user_organization_app (id SERIAL NOT NULL, user_organization_id INT NOT NULL, application_id INT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, is_active BOOLEAN NOT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_BEF66DF12014CF51 ON user_organization_app (user_organization_id)');
$this->addSql('CREATE INDEX IDX_BEF66DF13E030ACD ON user_organization_app (application_id)');
$this->addSql('COMMENT ON COLUMN user_organization_app.created_at IS \'(DC2Type:datetime_immutable)\'');
$this->addSql('ALTER TABLE user_organization_app ADD CONSTRAINT FK_BEF66DF12014CF51 FOREIGN KEY (user_organization_id) REFERENCES users_organizations (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE user_organization_app ADD CONSTRAINT FK_BEF66DF13E030ACD FOREIGN KEY (application_id) REFERENCES apps (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE user_organizaton_app DROP CONSTRAINT fk_2c952fc72014cf51');
$this->addSql('ALTER TABLE user_organizaton_app DROP CONSTRAINT fk_2c952fc73e030acd');
$this->addSql('ALTER TABLE user_organizaton_app DROP CONSTRAINT fk_2c952fc7d60322ac');
$this->addSql('DROP TABLE user_organizaton_app');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SCHEMA public');
$this->addSql('CREATE SEQUENCE user_organizaton_app_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
$this->addSql('CREATE TABLE user_organizaton_app (id SERIAL NOT NULL, user_organization_id INT NOT NULL, role_id INT DEFAULT NULL, application_id INT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, is_active BOOLEAN NOT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX idx_2c952fc72014cf51 ON user_organizaton_app (user_organization_id)');
$this->addSql('CREATE INDEX idx_2c952fc73e030acd ON user_organizaton_app (application_id)');
$this->addSql('CREATE INDEX idx_2c952fc7d60322ac ON user_organizaton_app (role_id)');
$this->addSql('COMMENT ON COLUMN user_organizaton_app.created_at IS \'(DC2Type:datetime_immutable)\'');
$this->addSql('ALTER TABLE user_organizaton_app ADD CONSTRAINT fk_2c952fc72014cf51 FOREIGN KEY (user_organization_id) REFERENCES users_organizations (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE user_organizaton_app ADD CONSTRAINT fk_2c952fc73e030acd FOREIGN KEY (application_id) REFERENCES apps (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE user_organizaton_app ADD CONSTRAINT fk_2c952fc7d60322ac FOREIGN KEY (role_id) REFERENCES roles (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE user_organization_app DROP CONSTRAINT FK_BEF66DF12014CF51');
$this->addSql('ALTER TABLE user_organization_app DROP CONSTRAINT FK_BEF66DF13E030ACD');
$this->addSql('DROP TABLE user_organization_app');
}
}

View File

@ -51,7 +51,7 @@ class DeleteRoleCommand extends Command
}
// Check if role is being used (optional safety check)
$usageCount = $this->entityManager->getRepository(\App\Entity\UserOrganizatonApp::class)
$usageCount = $this->entityManager->getRepository(\App\Entity\UserOrganizationApp::class)
->count(['role' => $role]);
if ($usageCount > 0) {

View File

@ -6,7 +6,7 @@ use App\Entity\Actions;
use App\Entity\Apps;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Form\OrganizationForm;
use App\Repository\OrganizationsRepository;

View File

@ -5,7 +5,7 @@ namespace App\Controller;
use App\Entity\Apps;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Form\UserForm;
use App\Repository\AppsRepository;

View File

@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace App\Controller\api\Check;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
#[Route(path: '/api/v1/check', name: 'api_check_')]
class EasyCheckController extends AbstractController
{
#[Route('/easy-check')]
public function index(): Response
{
return $this->render('easy_check/index.html.twig');
}
}

View File

@ -38,9 +38,9 @@ class Apps
private ?string $descriptionSmall = null;
/**
* @var Collection<int, UserOrganizatonApp>
* @var Collection<int, UserOrganizationApp>
*/
#[ORM\OneToMany(targetEntity: UserOrganizatonApp::class, mappedBy: 'application')]
#[ORM\OneToMany(targetEntity: UserOrganizationApp::class, mappedBy: 'application')]
private Collection $userOrganizatonApps;
/**
@ -152,14 +152,14 @@ class Apps
}
/**
* @return Collection<int, UserOrganizatonApp>
* @return Collection<int, UserOrganizationApp>
*/
public function getUserOrganizatonApps(): Collection
{
return $this->userOrganizatonApps;
}
public function addUserOrganizatonApp(UserOrganizatonApp $userOrganizatonApp): static
public function addUserOrganizatonApp(UserOrganizationApp $userOrganizatonApp): static
{
if (!$this->userOrganizatonApps->contains($userOrganizatonApp)) {
$this->userOrganizatonApps->add($userOrganizatonApp);
@ -169,7 +169,7 @@ class Apps
return $this;
}
public function removeUserOrganizatonApp(UserOrganizatonApp $userOrganizatonApp): static
public function removeUserOrganizatonApp(UserOrganizationApp $userOrganizatonApp): static
{
if ($this->userOrganizatonApps->removeElement($userOrganizatonApp)) {
if ($userOrganizatonApp->getApplication() === $this) {

View File

@ -56,9 +56,9 @@ class Organizations
private Collection $actions;
/**
* @var Collection<int, UserOrganizatonApp>
* @var Collection<int, UserOrganizationApp>
*/
#[ORM\OneToMany(targetEntity: UserOrganizatonApp::class, mappedBy: 'organization')]
#[ORM\OneToMany(targetEntity: UserOrganizationApp::class, mappedBy: 'organization')]
private Collection $userOrganizatonApps;
#[ORM\Column(length: 4, nullable: true)]
@ -238,14 +238,14 @@ class Organizations
}
/**
* @return Collection<int, UserOrganizatonApp>
* @return Collection<int, UserOrganizationApp>
*/
public function getUserOrganizatonApps(): Collection
{
return $this->userOrganizatonApps;
}
public function addUserOrganizatonApp(UserOrganizatonApp $userOrganizatonApp): static
public function addUserOrganizatonApp(UserOrganizationApp $userOrganizatonApp): static
{
if (!$this->userOrganizatonApps->contains($userOrganizatonApp)) {
$this->userOrganizatonApps->add($userOrganizatonApp);
@ -255,7 +255,7 @@ class Organizations
return $this;
}
public function removeUserOrganizatonApp(UserOrganizatonApp $userOrganizatonApp): static
public function removeUserOrganizatonApp(UserOrganizationApp $userOrganizatonApp): static
{
if ($this->userOrganizatonApps->removeElement($userOrganizatonApp)) {
// set the owning side to null (unless already changed)

View File

@ -6,7 +6,7 @@ use App\Repository\UserOrganizatonAppRepository;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: UserOrganizatonAppRepository::class)]
class UserOrganizatonApp
class UserOrganizationApp
{
#[ORM\Id]
#[ORM\GeneratedValue]
@ -16,17 +16,15 @@ class UserOrganizatonApp
#[ORM\Column]
private ?\DateTimeImmutable $createdAt = null;
#[ORM\ManyToOne]
private ?Roles $role = null;
#[ORM\Column]
private ?bool $isActive;
#[ORM\ManyToOne(inversedBy: 'userOrganizatonApps')]
#[ORM\ManyToOne(inversedBy: 'userOrganizationApps')]
#[ORM\JoinColumn(nullable: false)]
private ?UsersOrganizations $userOrganization = null;
#[ORM\ManyToOne(inversedBy: 'userOrganizatonApps')]
#[ORM\ManyToOne(inversedBy: 'userOrganizationApps')]
#[ORM\JoinColumn(nullable: false)]
private ?Apps $application = null;
@ -53,18 +51,6 @@ class UserOrganizatonApp
return $this;
}
public function getRole(): ?Roles
{
return $this->role;
}
public function setRole(?Roles $role): static
{
$this->role = $role;
return $this;
}
public function isActive(): ?bool
{
return $this->isActive;

View File

@ -30,9 +30,9 @@ class UsersOrganizations
private ?\DateTimeImmutable $createdAt = null;
/**
* @var Collection<int, UserOrganizatonApp>
* @var Collection<int, UserOrganizationApp>
*/
#[ORM\OneToMany(targetEntity: UserOrganizatonApp::class, mappedBy: 'userOrganization')]
#[ORM\OneToMany(targetEntity: UserOrganizationApp::class, mappedBy: 'userOrganization')]
private Collection $userOrganizatonApps;
#[ORM\Column(length: 255, nullable: true)]
@ -98,14 +98,14 @@ class UsersOrganizations
}
/**
* @return Collection<int, UserOrganizatonApp>
* @return Collection<int, UserOrganizationApp>
*/
public function getUserOrganizatonApps(): Collection
{
return $this->userOrganizatonApps;
}
public function addUserOrganizatonApp(UserOrganizatonApp $userOrganizatonApp): static
public function addUserOrganizatonApp(UserOrganizationApp $userOrganizatonApp): static
{
if (!$this->userOrganizatonApps->contains($userOrganizatonApp)) {
$this->userOrganizatonApps->add($userOrganizatonApp);
@ -115,7 +115,7 @@ class UsersOrganizations
return $this;
}
public function removeUserOrganizatonApp(UserOrganizatonApp $userOrganizatonApp): static
public function removeUserOrganizatonApp(UserOrganizationApp $userOrganizatonApp): static
{
if ($this->userOrganizatonApps->removeElement($userOrganizatonApp)) {
// set the owning side to null (unless already changed)

View File

@ -3,18 +3,18 @@
namespace App\Repository;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
/**
* @extends ServiceEntityRepository<UserOrganizatonApp>
* @extends ServiceEntityRepository<UserOrganizationApp>
*/
class UserOrganizatonAppRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, UserOrganizatonApp::class);
parent::__construct($registry, UserOrganizationApp::class);
}
// /**

View File

@ -5,7 +5,7 @@ namespace App\Service;
use App\Entity\Apps;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Repository\UsersOrganizationsRepository;
use App\Service\LoggerService;
@ -145,7 +145,7 @@ class OrganizationsService
$adminUOs = $this->uoRepository->findBy(['organization' => $data['organization'], 'isActive' => true]);
foreach ($adminUOs as $adminUO) {
$uoa = $this->entityManager->getRepository(UserOrganizatonApp::class)
$uoa = $this->entityManager->getRepository(UserOrganizationApp::class)
->findOneBy([
'userOrganization' => $adminUO,
'role' => $roleAdmin,

View File

@ -5,7 +5,7 @@ namespace App\Service;
use App\Entity\Apps;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Service\ActionService;
use App\Service\LoggerService;
@ -76,9 +76,9 @@ class UserOrganizationAppService
public function deactivateAllUserOrganizationsAppLinks(UsersOrganizations $userOrganization, Apps $app = null): void
{
if($app) {
$uoas = $this->entityManager->getRepository(UserOrganizatonApp::class)->findBy(['userOrganization' => $userOrganization, 'application' => $app, 'isActive' => true]);
$uoas = $this->entityManager->getRepository(UserOrganizationApp::class)->findBy(['userOrganization' => $userOrganization, 'application' => $app, 'isActive' => true]);
} else {
$uoas = $this->entityManager->getRepository(UserOrganizatonApp::class)->findBy(['userOrganization' => $userOrganization, 'isActive' => true]);
$uoas = $this->entityManager->getRepository(UserOrganizationApp::class)->findBy(['userOrganization' => $userOrganization, 'isActive' => true]);
}
foreach ($uoas as $uoa) {
try{
@ -123,7 +123,7 @@ class UserOrganizationAppService
): void {
// Fetch existing UserOrganizationApp links for this user and application
$uoas = $this->entityManager->getRepository(UserOrganizatonApp::class)->findBy([
$uoas = $this->entityManager->getRepository(UserOrganizationApp::class)->findBy([
'userOrganization' => $uo,
'application' => $application,
]);
@ -191,7 +191,7 @@ class UserOrganizationAppService
$role = $this->entityManager->getRepository(Roles::class)->find($roleId);
if ($role) {
// Create new user-organization-application role link
$newUoa = new UserOrganizatonApp();
$newUoa = new UserOrganizationApp();
$newUoa->setUserOrganization($uo);
$newUoa->setApplication($application);
$newUoa->setRole($role);
@ -224,19 +224,19 @@ class UserOrganizationAppService
/**
* Attribute the role Admin to the user if the user has the role Super Admin
*
* @param UserOrganizatonApp $uoa
* @param UserOrganizationApp $uoa
*
* @return void
*/
public function ensureAdminRoleForSuperAdmin(UserOrganizatonApp $uoa): void
public function ensureAdminRoleForSuperAdmin(UserOrganizationApp $uoa): void
{
$uoaAdmin = $this->entityManager->getRepository(UserOrganizatonApp::class)->findOneBy([
$uoaAdmin = $this->entityManager->getRepository(UserOrganizationApp::class)->findOneBy([
'userOrganization' => $uoa->getUserOrganization(),
'application' => $uoa->getApplication(),
'role' => $this->entityManager->getRepository(Roles::class)->findOneBy(['name' => 'ADMIN'])
]);
if(!$uoaAdmin) {
$uoaAdmin = new UserOrganizatonApp();
$uoaAdmin = new UserOrganizationApp();
$uoaAdmin->setUserOrganization($uoa->getUserOrganization());
$uoaAdmin->setApplication($uoa->getApplication());
$uoaAdmin->setRole($this->entityManager->getRepository(Roles::class)->findOneBy(['name' => 'ADMIN']));
@ -260,7 +260,7 @@ class UserOrganizationAppService
$uos = $this->entityManager->getRepository(UsersOrganizations::class)->findBy(['users' => $user]);
$apps = [];
foreach ($uos as $uo) {
$uoas = $this->entityManager->getRepository(UserOrganizatonApp::class)->findBy(['userOrganization' => $uo, 'isActive' => true]);
$uoas = $this->entityManager->getRepository(UserOrganizationApp::class)->findBy(['userOrganization' => $uo, 'isActive' => true]);
foreach ($uoas as $uoa) {
$app = $uoa->getApplication();
if (!in_array($app, $apps, true)) {

View File

@ -6,7 +6,7 @@ namespace App\Service;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Repository\RolesRepository;
use DateTimeImmutable;
@ -361,7 +361,7 @@ class UserService
->findBy(['users' => $user, 'isActive' => true]);
$hasRole = false;
foreach ($uos as $uo) {
$uoa = $this->entityManager->getRepository(UserOrganizatonApp::class)
$uoa = $this->entityManager->getRepository(UserOrganizationApp::class)
->findBy([
'userOrganization' => $uo,
'isActive' => true,

View File

@ -5,7 +5,7 @@ namespace App\Tests\Controller;
use App\Entity\Apps;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Service\AwsService;
use App\Tests\Functional\AbstractFunctional;
@ -348,10 +348,10 @@ class OrganizationController extends AbstractFunctional
self::assertCount(1, $this->entityManager->getRepository(Apps::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(Roles::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(UsersOrganizations::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(UserOrganizatonApp::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(UserOrganizationApp::class)->findAll());
self::assertTrue($this->entityManager->getRepository(Organizations::class)->find($organization->getId())->isDeleted());
self::assertFalse($this->entityManager->getRepository(UsersOrganizations::class)->find($uoLink->getId())->isActive());
self::assertFalse($this->entityManager->getRepository(UserOrganizatonApp::class)->find($uoaLink->getId())->isActive());
self::assertFalse($this->entityManager->getRepository(UserOrganizationApp::class)->find($uoaLink->getId())->isActive());
self::assertSelectorNotExists('#tabulator-org');
}

View File

@ -11,7 +11,7 @@ use App\Entity\Apps;
use App\Entity\Roles;
use App\Entity\Organizations;
use App\Entity\UsersOrganizations;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Tests\Functional\AbstractFunctional;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use function Symfony\Component\DependencyInjection\Loader\Configurator\param;
@ -542,7 +542,7 @@ class UserController extends AbstractFunctional
$this->client->followRedirect();
self::assertCount(2, $this->entityManager->getRepository(User::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(UsersOrganizations::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(UserOrganizatonApp::class)->findAll());
self::assertCount(1, $this->entityManager->getRepository(UserOrganizationApp::class)->findAll());
}
#[Test]

View File

@ -7,7 +7,7 @@ use App\Entity\Notification;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\KernelBrowser;
@ -85,8 +85,8 @@ abstract class AbstractFunctional extends WebTestCase
return $uo;
}
protected function createUOALink(UsersOrganizations $uo, Apps $app, Roles $role): UserOrganizatonApp{
$uoa = new UserOrganizatonApp();
protected function createUOALink(UsersOrganizations $uo, Apps $app, Roles $role): UserOrganizationApp{
$uoa = new UserOrganizationApp();
$uoa->setUserOrganization($uo);
$uoa->setApplication($app);
$uoa->setRole($role);

View File

@ -6,7 +6,7 @@ use App\Entity\Apps;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Repository\UsersOrganizationsRepository;
use App\Service\AwsService;
@ -186,7 +186,7 @@ class OrganizationsServiceTest extends TestCase
$adminRole->setName('ADMIN');
// 4. Setup UOA Logic (Proof that user is Admin of an App)
$uoa = new UserOrganizatonApp();
$uoa = new UserOrganizationApp();
$this->setEntityId($uoa, 777);
$uoa->setUserOrganization($adminUO);
$uoa->setRole($adminRole);
@ -209,7 +209,7 @@ class OrganizationsServiceTest extends TestCase
$this->entityManager->method('getRepository')->willReturnMap([
[Roles::class, $rolesRepo],
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
]);
// 6. Expectations
@ -246,7 +246,7 @@ class OrganizationsServiceTest extends TestCase
$roleAdmin = new Roles();
$uoa = new UserOrganizatonApp(); // active admin link
$uoa = new UserOrganizationApp(); // active admin link
// Mocks setup
$rolesRepo = $this->createMock(EntityRepository::class);
@ -259,7 +259,7 @@ class OrganizationsServiceTest extends TestCase
$this->entityManager->method('getRepository')->willReturnMap([
[Roles::class, $rolesRepo],
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
]);
// Expectations: Notification service should NEVER be called
@ -294,7 +294,7 @@ class OrganizationsServiceTest extends TestCase
$this->entityManager->method('getRepository')->willReturnMap([
[Roles::class, $rolesRepo],
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
]);
// 4. Expectations: ensure NOTHING happens
@ -326,7 +326,7 @@ class OrganizationsServiceTest extends TestCase
$adminRole = new Roles();
$adminRole->setName('ADMIN');
$uoa = new UserOrganizatonApp();
$uoa = new UserOrganizationApp();
$uoa->setUserOrganization($adminUO);
$uoa->setRole($adminRole);
$uoa->setIsActive(true);
@ -342,7 +342,7 @@ class OrganizationsServiceTest extends TestCase
$this->entityManager->method('getRepository')->willReturnMap([
[Roles::class, $rolesRepo],
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
]);
// 5. Dynamic Expectations

View File

@ -6,7 +6,7 @@ use App\Entity\Apps;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Service\ActionService;
use App\Service\LoggerService;
@ -78,7 +78,7 @@ class UserOrganizationAppServiceTest extends TestCase
$uo = new UsersOrganizations(); $this->setEntityId($uo, 99);
$uoa = new UserOrganizatonApp();
$uoa = new UserOrganizationApp();
$this->setEntityId($uoa, 500);
$uoa->setApplication($app1);
$uoa->setRole($role);
@ -121,7 +121,7 @@ class UserOrganizationAppServiceTest extends TestCase
$role = new Roles();
$this->setEntityId($role, 10);
$uoa = new UserOrganizatonApp();
$uoa = new UserOrganizationApp();
$this->setEntityId($uoa, 555);
$uoa->setApplication($app);
$uoa->setRole($role);
@ -159,7 +159,7 @@ class UserOrganizationAppServiceTest extends TestCase
$app = new Apps(); $this->setEntityId($app, 1);
$role = new Roles(); $this->setEntityId($role, 1);
$realUoa = new UserOrganizatonApp();
$realUoa = new UserOrganizationApp();
$this->setEntityId($realUoa, 100);
$realUoa->setApplication($app);
$realUoa->setRole($role);
@ -209,12 +209,12 @@ class UserOrganizationAppServiceTest extends TestCase
$roleRepo->method('find')->with($roleId)->willReturn($role);
$this->entityManager->method('getRepository')->willReturnMap([
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
[Roles::class, $roleRepo],
]);
// Expect creation
$this->entityManager->expects($this->once())->method('persist')->with($this->isInstanceOf(UserOrganizatonApp::class));
$this->entityManager->expects($this->once())->method('persist')->with($this->isInstanceOf(UserOrganizationApp::class));
$this->entityManager->expects($this->once())->method('flush');
$this->actionService->expects($this->once())->method('createAction');
@ -239,7 +239,7 @@ class UserOrganizationAppServiceTest extends TestCase
$role = new Roles(); $this->setEntityId($role, 30);
$role->setName('VIEWER');
$existingUoa = new UserOrganizatonApp();
$existingUoa = new UserOrganizationApp();
$this->setEntityId($existingUoa, 999);
$existingUoa->setRole($role);
$existingUoa->setApplication($app);
@ -251,7 +251,7 @@ class UserOrganizationAppServiceTest extends TestCase
$uoaRepo->method('findBy')->willReturn([$existingUoa]);
$this->entityManager->method('getRepository')->willReturnMap([
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
]);
// We pass empty array [] as selected roles -> expect deactivation
@ -296,7 +296,7 @@ class UserOrganizationAppServiceTest extends TestCase
$roleRepo->method('findOneBy')->with(['name' => 'ADMIN'])->willReturn($adminRole);
$this->entityManager->method('getRepository')->willReturnMap([
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
[Roles::class, $roleRepo],
]);
@ -312,7 +312,7 @@ class UserOrganizationAppServiceTest extends TestCase
// - The new ADMIN link (automatically created)
$this->entityManager->expects($this->exactly(2))
->method('persist')
->with($this->isInstanceOf(UserOrganizatonApp::class));
->with($this->isInstanceOf(UserOrganizationApp::class));
// Run
$this->service->syncRolesForUserOrganizationApp($uo, $app, ['100'], $actingUser);

View File

@ -5,7 +5,7 @@ namespace App\Tests\Service;
use App\Entity\Organizations;
use App\Entity\Roles;
use App\Entity\User;
use App\Entity\UserOrganizatonApp;
use App\Entity\UserOrganizationApp;
use App\Entity\UsersOrganizations;
use App\Event\UserCreatedEvent;
use App\Service\ActionService;
@ -328,7 +328,7 @@ class UserServiceTest extends TestCase
// 4. UserOrganizatonApp mock (The link checking if they are admin active)
$uoaRepo = $this->createMock(EntityRepository::class);
$uoa = new UserOrganizatonApp();
$uoa = new UserOrganizationApp();
$uoaRepo->method('findOneBy')->willReturn($uoa); // Returns an object, so true
// Configure EntityManager to return these repos based on class
@ -336,7 +336,7 @@ class UserServiceTest extends TestCase
[User::class, $userRepo],
[UsersOrganizations::class, $uoRepo],
[Roles::class, $rolesRepo],
[UserOrganizatonApp::class, $uoaRepo],
[UserOrganizationApp::class, $uoaRepo],
]);
$result = $this->userService->isAdminOfOrganization($org);