assertArrayHasKey(FOSUserEvents::REGISTRATION_SUCCESS, $events); $methodName = $events[FOSUserEvents::REGISTRATION_SUCCESS][0]; $this->assertTrue(method_exists(RegistrationSubscriber::class, $methodName)); } /** * Legacy test becuase the user bundle won't update to a new release * * @dataProvider getTestData * @group legacy */ public function testRoleAssignmentForNewUser(array $existingUsers, $expectedRoles) { $user = new User(); $user->setAlias('foo'); $this->assertEquals([User::ROLE_USER], $user->getRoles()); $userManager = $this->getMockBuilder(UserManagerInterface::class)->getMock(); $userManager->method('findUsers')->willReturn($existingUsers); $form = $this->getMockBuilder(FormInterface::class)->getMock(); $form->method('getData')->willReturn($user); $request = $this->createMock(Request::class); $event = new FormEvent($form, $request); $sut = new RegistrationSubscriber($userManager); $sut->onRegistrationSuccess($event); $this->assertEquals($expectedRoles, $user->getRoles()); } public function getTestData() { return [ // NewFirstUserGetsSuperAdminRole [[], [User::ROLE_SUPER_ADMIN, User::ROLE_USER]], // NewUserGetUserRole [[new User()], [User::ROLE_USER]], ]; } }