support multiple teamleads in each team (#2702)

* fix jumping avatars
* fix line-break after color dot for long names
This commit is contained in:
Kevin Papst
2021-08-07 18:05:41 +02:00
committed by GitHub
parent e9986c92d6
commit b2d3272151
101 changed files with 1952 additions and 649 deletions

View File

@@ -364,11 +364,7 @@ abstract class ControllerBaseTest extends WebTestCase
*/
protected function assertHasFlashSuccess(HttpKernelBrowser $client, string $message = null)
{
$content = $client->getResponse()->getContent();
self::assertStringContainsString('ALERT.success(\'', $content, 'Could not find flash success message');
if (null !== $message) {
self::assertStringContainsString($message, $content);
}
$this->assertHasFlashMessage($client, 'success', $message);
}
/**
@@ -376,10 +372,18 @@ abstract class ControllerBaseTest extends WebTestCase
* @param string|null $message
*/
protected function assertHasFlashError(HttpKernelBrowser $client, string $message = null)
{
$this->assertHasFlashMessage($client, 'error', $message);
}
private function assertHasFlashMessage(HttpKernelBrowser $client, string $type, string $message = null)
{
$content = $client->getResponse()->getContent();
self::assertStringContainsString('ALERT.error(\'', $content, 'Could not find flash error message');
self::assertStringContainsString('ALERT.' . $type . '(\'', $content, 'Could not find flash ' . $type . ' message');
if (null !== $message) {
// this is a lazy workaround, the templates use the javascript escape filter: |e('js')
// if you ever want to test more complex strings, this logic has to be enhanced
$message = str_replace([' ', ':'], ['\u0020', '\u003A'], $message);
self::assertStringContainsString($message, $content);
}
}

View File

@@ -50,7 +50,7 @@ class ExportControllerTest extends ControllerBaseTest
/** @var Team $team */
$team = new Team();
$team->setName('fooo');
$team->setTeamLead($teamlead);
$team->addTeamlead($teamlead);
$team->addUser($user);
$em->persist($team);
$em->persist($user);

View File

@@ -355,7 +355,6 @@ class ProfileControllerTest extends ControllerBaseTest
public function testTeamsAction()
{
$client = $this->getClientForAuthenticatedUser(User::ROLE_SUPER_ADMIN);
$em = $this->getEntityManager();
/** @var User $user */
$user = $this->getUserByRole(User::ROLE_USER);
@@ -371,7 +370,7 @@ class ProfileControllerTest extends ControllerBaseTest
/** @var User $user */
$user = $this->getUserByRole(User::ROLE_USER);
$this->assertEquals([], $user->getTeams()->toArray());
$this->assertEquals([], $user->getTeams());
$form = $client->getCrawler()->filter('form[name=user_teams]')->form();
/** @var ChoiceFormField $team */
@@ -386,10 +385,9 @@ class ProfileControllerTest extends ControllerBaseTest
$this->assertHasFlashSuccess($client);
$em = $this->getEntityManager();
$user = $this->getUserByRole(User::ROLE_USER);
$this->assertEquals(1, $user->getTeams()->count());
$this->assertCount(1, $user->getTeams());
}
public function getPreferencesTestData()

View File

@@ -197,7 +197,7 @@ class ProjectControllerTest extends ControllerBaseTest
$project->setEnd(new \DateTime());
$em->persist($project);
$team = new Team();
$team->setTeamLead($this->getUserByRole(User::ROLE_ADMIN));
$team->addTeamlead($this->getUserByRole(User::ROLE_ADMIN));
$team->addProject($project);
$team->setName('project 1');
$em->persist($team);

View File

@@ -79,13 +79,13 @@ class TeamControllerTest extends ControllerBaseTest
$form = $client->getCrawler()->filter('form[name=team_edit_form]')->form();
$this->assertEquals('', $form->get('team_edit_form[name]')->getValue());
$this->assertEquals('5', $form->get('team_edit_form[teamlead]')->getValue());
$client->submit($form, [
'team_edit_form' => [
'name' => 'Test Team' . uniqid(),
]
]);
$values = $form->getPhpValues();
$values['team_edit_form']['name'] = 'Test Team' . uniqid();
$values['team_edit_form']['members'][0]['user'] = 5;
$values['team_edit_form']['members'][0]['teamlead'] = 1;
$client->request($form->getMethod(), $form->getUri(), $values, $form->getPhpFiles());
$this->assertIsRedirect($client, '/edit');
$client->followRedirect();
$this->assertHasFlashSuccess($client);
@@ -105,14 +105,13 @@ class TeamControllerTest extends ControllerBaseTest
{
$client = $this->getClientForAuthenticatedUser(User::ROLE_ADMIN);
$em = $this->getEntityManager();
$fixture = new TeamFixtures();
$fixture->setAmount(2);
$this->importFixture($fixture);
$this->assertAccessIsGranted($client, '/admin/teams/1/edit');
$form = $client->getCrawler()->filter('form[name=team_edit_form]')->form();
$this->assertNotEmpty($form->get('team_edit_form[name]')->getValue());
$client->submit($form, [
'team_edit_form' => [
'name' => 'Test Team 2'
@@ -135,7 +134,6 @@ class TeamControllerTest extends ControllerBaseTest
$this->assertAccessIsGranted($client, '/admin/teams/1/edit_member');
$form = $client->getCrawler()->filter('form[name=team_edit_form]')->form();
$this->assertNotEmpty($form->get('team_edit_form[name]')->getValue());
$client->submit($form, [
'team_edit_form' => [
'name' => 'Test Team 2'