Next major version 2 with PHP 8.1, Symfony 6, Tabler UI, 2FA ... (#2902)

This commit is contained in:
Kevin Papst
2022-12-31 21:19:55 +01:00
committed by GitHub
parent 95e06746bd
commit 90a0fd8a22
2164 changed files with 83700 additions and 86426 deletions

View File

@@ -49,7 +49,7 @@ class ActivityRateTest extends TestCase
$user = new User();
$user->setAlias('foo');
$user->setUsername('bar');
$user->setUserIdentifier('bar');
self::assertInstanceOf(ActivityRate::class, $sut->setUser($user));
self::assertSame($user, $sut->getUser());
$sut->setUser(null);

View File

@@ -16,7 +16,6 @@ use App\Entity\Project;
use App\Entity\Team;
use App\Export\Spreadsheet\ColumnDefinition;
use App\Export\Spreadsheet\Extractor\AnnotationExtractor;
use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Collections\Collection;
/**
@@ -40,7 +39,6 @@ class ActivityTest extends AbstractEntityTest
$this->assertInstanceOf(Collection::class, $sut->getMetaFields());
$this->assertEquals(0, $sut->getMetaFields()->count());
$this->assertNull($sut->getMetaField('foo'));
$this->assertNull($sut->getMetaFieldValue('foo'));
$this->assertInstanceOf(Collection::class, $sut->getTeams());
}
@@ -95,7 +93,6 @@ class ActivityTest extends AbstractEntityTest
self::assertSame($result, $meta);
self::assertEquals('test', $result->getType());
self::assertEquals('bar2', $result->getValue());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$meta2 = new ActivityMeta();
$meta2->setName('foo')->setValue('bar')->setType('test2');
@@ -106,7 +103,6 @@ class ActivityTest extends AbstractEntityTest
$result = $sut->getMetaField('foo');
self::assertSame($result, $meta);
self::assertEquals('test2', $result->getType());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$sut->setMetaField((new ActivityMeta())->setName('blub')->setIsVisible(true));
$sut->setMetaField((new ActivityMeta())->setName('blab')->setIsVisible(true));
@@ -117,7 +113,7 @@ class ActivityTest extends AbstractEntityTest
public function testTeams()
{
$sut = new Activity();
$team = new Team();
$team = new Team('foo');
self::assertEmpty($sut->getTeams());
self::assertEmpty($team->getActivities());
@@ -128,7 +124,7 @@ class ActivityTest extends AbstractEntityTest
self::assertSame($sut, $team->getActivities()[0]);
// test remove unknown team doesn't do anything
$sut->removeTeam(new Team());
$sut->removeTeam(new Team('foo'));
self::assertCount(1, $sut->getTeams());
self::assertCount(1, $team->getActivities());
@@ -139,23 +135,23 @@ class ActivityTest extends AbstractEntityTest
public function testExportAnnotations()
{
$sut = new AnnotationExtractor(new AnnotationReader());
$sut = new AnnotationExtractor();
$columns = $sut->extract(Activity::class);
self::assertIsArray($columns);
$expected = [
['label.id', 'integer'],
['label.name', 'string'],
['label.project', 'string'],
['label.budget', 'float'],
['label.timeBudget', 'duration'],
['label.budgetType', 'string'],
['label.color', 'string'],
['label.visible', 'boolean'],
['label.comment', 'string'],
['label.billable', 'boolean'],
['id', 'integer'],
['name', 'string'],
['project', 'string'],
['budget', 'float'],
['timeBudget', 'duration'],
['budgetType', 'string'],
['color', 'string'],
['visible', 'boolean'],
['comment', 'string'],
['billable', 'boolean'],
];
self::assertCount(\count($expected), $columns);
@@ -190,7 +186,7 @@ class ActivityTest extends AbstractEntityTest
$sut->setProject($project);
$team = new Team();
$team = new Team('foo');
$sut->addTeam($team);
$meta = new ActivityMeta();
@@ -205,7 +201,6 @@ class ActivityTest extends AbstractEntityTest
foreach ($sut->getMetaFields() as $metaField) {
$cloneMeta = $clone->getMetaField($metaField->getName());
self::assertEquals($cloneMeta->getValue(), $metaField->getValue());
self::assertEquals($metaField->getValue(), $clone->getMetaFieldValue($metaField->getName()));
}
self::assertEquals($clone->getBudget(), $sut->getBudget());
self::assertEquals($clone->getTimeBudget(), $sut->getTimeBudget());

View File

@@ -9,7 +9,6 @@
namespace App\Tests\Entity;
use App\Entity\CommentInterface;
use App\Entity\Customer;
use App\Entity\CustomerComment;
@@ -19,18 +18,14 @@ use App\Entity\CustomerComment;
*/
class CustomerCommentTest extends AbstractCommentEntityTest
{
protected function getEntity(): CommentInterface
protected function getEntity(): CustomerComment
{
return new CustomerComment();
return new CustomerComment(new Customer('foo'));
}
public function testEntitySpecificMethods()
{
$sut = new CustomerComment();
self::assertNull($sut->getCustomer());
$customer = new Customer();
self::assertInstanceOf(CustomerComment::class, $sut->setCustomer($customer));
self::assertSame($customer, $sut->getCustomer());
$sut = $this->getEntity();
self::assertNotNull($sut->getCustomer());
}
}

View File

@@ -22,7 +22,7 @@ class CustomerMetaTest extends AbstractMetaEntityTest
{
protected function getEntity(): EntityWithMetaFields
{
return new Customer();
return new Customer('foo');
}
protected function getMetaEntity(): MetaTableTypeInterface

View File

@@ -49,14 +49,13 @@ class CustomerRateTest extends TestCase
$user = new User();
$user->setAlias('foo');
$user->setUsername('bar');
$user->setUserIdentifier('bar');
self::assertInstanceOf(CustomerRate::class, $sut->setUser($user));
self::assertSame($user, $sut->getUser());
$sut->setUser(null);
self::assertNull($sut->getUser());
$entity = new Customer();
$entity->setName('foo');
$entity = new Customer('foo');
self::assertInstanceOf(CustomerRate::class, $sut->setCustomer($entity));
self::assertSame($entity, $sut->getCustomer());
}

View File

@@ -15,7 +15,6 @@ use App\Entity\CustomerMeta;
use App\Entity\Team;
use App\Export\Spreadsheet\ColumnDefinition;
use App\Export\Spreadsheet\Extractor\AnnotationExtractor;
use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Collections\Collection;
/**
@@ -25,9 +24,8 @@ class CustomerTest extends AbstractEntityTest
{
public function testDefaultValues()
{
$sut = new Customer();
$sut = new Customer('foo');
self::assertNull($sut->getId());
self::assertNull($sut->getName());
self::assertNull($sut->getNumber());
self::assertNull($sut->getComment());
self::assertTrue($sut->isVisible());
@@ -52,20 +50,18 @@ class CustomerTest extends AbstractEntityTest
self::assertInstanceOf(Collection::class, $sut->getMetaFields());
self::assertEquals(0, $sut->getMetaFields()->count());
self::assertNull($sut->getMetaField('foo'));
self::assertNull($sut->getMetaFieldValue('foo'));
self::assertInstanceOf(Collection::class, $sut->getTeams());
self::assertEquals(0, $sut->getTeams()->count());
}
public function testBudgets()
{
$this->assertBudget(new Customer());
$this->assertBudget(new Customer('foo'));
}
public function testSetterAndGetter()
{
$sut = new Customer();
self::assertInstanceOf(Customer::class, $sut->setName('foo-bar'));
$sut = new Customer('foo-bar');
self::assertEquals('foo-bar', $sut->getName());
self::assertEquals('foo-bar', (string) $sut);
@@ -116,13 +112,13 @@ class CustomerTest extends AbstractEntityTest
self::assertInstanceOf(Customer::class, $sut->setCountry(null));
self::assertNull($sut->getCountry());
self::assertInstanceOf(Customer::class, $sut->setCurrency(null));
self::assertNull($sut->getCurrency());
self::assertInstanceOf(Customer::class, $sut->setCurrency('USD'));
self::assertEquals('USD', $sut->getCurrency());
}
public function testMetaFields()
{
$sut = new Customer();
$sut = new Customer('foo');
$meta = new CustomerMeta();
$meta->setName('foo')->setValue('bar2')->setType('test');
self::assertInstanceOf(Customer::class, $sut->setMetaField($meta));
@@ -131,7 +127,6 @@ class CustomerTest extends AbstractEntityTest
self::assertSame($result, $meta);
self::assertEquals('test', $result->getType());
self::assertEquals('bar2', $result->getValue());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$meta2 = new CustomerMeta();
$meta2->setName('foo')->setValue('bar')->setType('test2');
@@ -142,7 +137,6 @@ class CustomerTest extends AbstractEntityTest
$result = $sut->getMetaField('foo');
self::assertSame($result, $meta);
self::assertEquals('test2', $result->getType());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$sut->setMetaField((new CustomerMeta())->setName('blub')->setIsVisible(true));
$sut->setMetaField((new CustomerMeta())->setName('blab')->setIsVisible(true));
@@ -152,8 +146,8 @@ class CustomerTest extends AbstractEntityTest
public function testTeams()
{
$sut = new Customer();
$team = new Team();
$sut = new Customer('foo');
$team = new Team('foo');
self::assertEmpty($sut->getTeams());
self::assertEmpty($team->getCustomers());
@@ -164,11 +158,11 @@ class CustomerTest extends AbstractEntityTest
self::assertSame($sut, $team->getCustomers()[0]);
// test remove unknown team doesn't do anything
$sut->removeTeam(new Team());
$sut->removeTeam(new Team('foo'));
self::assertCount(1, $sut->getTeams());
self::assertCount(1, $team->getCustomers());
$sut->removeTeam(new Team());
$sut->removeTeam(new Team('foo'));
$sut->removeTeam($team);
self::assertCount(0, $sut->getTeams());
self::assertCount(0, $team->getCustomers());
@@ -176,35 +170,35 @@ class CustomerTest extends AbstractEntityTest
public function testExportAnnotations()
{
$sut = new AnnotationExtractor(new AnnotationReader());
$sut = new AnnotationExtractor();
$columns = $sut->extract(Customer::class);
self::assertIsArray($columns);
$expected = [
['label.id', 'integer'],
['label.name', 'string'],
['label.company', 'string'],
['label.number', 'string'],
['label.vat_id', 'string'],
['label.address', 'string'],
['label.contact', 'string'],
['label.email', 'string'],
['label.phone', 'string'],
['label.mobile', 'string'],
['label.fax', 'string'],
['label.homepage', 'string'],
['label.country', 'string'],
['label.currency', 'string'],
['label.timezone', 'string'],
['label.budget', 'float'],
['label.timeBudget', 'duration'],
['label.budgetType', 'string'],
['label.color', 'string'],
['label.visible', 'boolean'],
['label.comment', 'string'],
['label.billable', 'boolean'],
['id', 'integer'],
['name', 'string'],
['company', 'string'],
['number', 'string'],
['vat_id', 'string'],
['address', 'string'],
['contact', 'string'],
['email', 'string'],
['phone', 'string'],
['mobile', 'string'],
['fax', 'string'],
['homepage', 'string'],
['country', 'string'],
['currency', 'string'],
['timezone', 'string'],
['budget', 'float'],
['timeBudget', 'duration'],
['budgetType', 'string'],
['color', 'string'],
['visible', 'boolean'],
['comment', 'string'],
['billable', 'boolean'],
];
self::assertCount(\count($expected), $columns);
@@ -224,13 +218,12 @@ class CustomerTest extends AbstractEntityTest
public function testClone()
{
$sut = new Customer();
$sut->setName('mycustomer');
$sut = new Customer('mycustomer');
$sut->setVatId('DE-0123456789');
$sut->setTimeBudget(123456);
$sut->setBudget(1234.56);
$team = new Team();
$team = new Team('foo');
$sut->addTeam($team);
$meta = new CustomerMeta();
@@ -245,7 +238,6 @@ class CustomerTest extends AbstractEntityTest
foreach ($sut->getMetaFields() as $metaField) {
$cloneMeta = $clone->getMetaField($metaField->getName());
self::assertEquals($cloneMeta->getValue(), $metaField->getValue());
self::assertEquals($metaField->getValue(), $clone->getMetaFieldValue($metaField->getName()));
}
self::assertEquals($clone->getBudget(), $sut->getBudget());
self::assertEquals($clone->getTimeBudget(), $sut->getTimeBudget());

View File

@@ -25,7 +25,7 @@ trait EntityValidationTestTrait
{
self::bootKernel();
/** @var ValidatorInterface $validator */
$validator = static::$kernel->getContainer()->get('validator');
$validator = self::getContainer()->get('validator');
$violations = $validator->validate($entity, null, $groups);
if (!\is_array($fieldNames)) {
@@ -60,7 +60,7 @@ trait EntityValidationTestTrait
{
self::bootKernel();
/** @var ValidatorInterface $validator */
$validator = static::$kernel->getContainer()->get('validator');
$validator = self::getContainer()->get('validator');
$violations = $validator->validate($entity, null, $groups);
$actual = $violations->count();

View File

@@ -9,31 +9,35 @@
namespace App\Tests\Entity;
use App\Entity\InvoiceDocument;
use App\Model\InvoiceDocument;
use PHPUnit\Framework\TestCase;
/**
* @covers \App\Entity\InvoiceDocument
* @covers \App\Model\InvoiceDocument
*/
class InvoiceDocumentTest extends TestCase
{
public function testDefaultValues()
public function testDefaultValues(): void
{
$dir = realpath(__DIR__ . '/../../templates/invoice/renderer');
$sut = new InvoiceDocument(new \SplFileInfo($dir . '/default.html.twig'));
$sut = new InvoiceDocument(new \SplFileInfo($dir . '/invoice.html.twig'));
self::assertEquals('twig', $sut->getFileExtension());
self::assertStringContainsString('templates/invoice/renderer/default.html.twig', $sut->getFilename());
self::assertEquals('default', $sut->getId());
self::assertEquals('default.html.twig', $sut->getName());
self::assertStringContainsString('templates/invoice/renderer/invoice.html.twig', $sut->getFilename());
self::assertEquals('invoice', $sut->getId());
self::assertEquals('invoice.html.twig', $sut->getName());
self::assertIsInt($sut->getLastChange());
}
public function testThrowsOnDeletedFile()
public function testThrowsOnDeletedFile(): void
{
$catchedException = false;
$dir = realpath(__DIR__ . '/../../templates/invoice/renderer');
if ($dir === false) {
throw new \Exception('Directory for invoice renderer could not be accessed');
}
$file = tempnam($dir, 'invoice-renderer');
if ($file !== false) {

View File

@@ -36,6 +36,6 @@ class InvoiceMetaTest extends AbstractMetaEntityTest
$this->expectExceptionMessage('Expected instanceof Invoice, received "App\Entity\Customer"');
$sut = new InvoiceMeta();
$sut->setEntity(new Customer());
$sut->setEntity(new Customer('foo'));
}
}

View File

@@ -35,8 +35,7 @@ class InvoiceTemplateTest extends TestCase
self::assertEquals('default', $sut->getNumberGenerator());
self::assertEquals('default', $sut->getRenderer());
self::assertEquals(30, $sut->getDueDays());
self::assertFalse($sut->isDecimalDuration());
self::assertNull($sut->getLanguage());
self::assertTrue($sut->isDecimalDuration());
}
public function testSetNullForOptionalValues()
@@ -48,7 +47,6 @@ class InvoiceTemplateTest extends TestCase
self::assertInstanceOf(InvoiceTemplate::class, $sut->setContact(null));
self::assertInstanceOf(InvoiceTemplate::class, $sut->setAddress(null));
self::assertInstanceOf(InvoiceTemplate::class, $sut->setPaymentTerms(null));
self::assertInstanceOf(InvoiceTemplate::class, $sut->setLanguage(null));
}
public function testSetterAndGetter()
@@ -70,9 +68,6 @@ class InvoiceTemplateTest extends TestCase
self::assertInstanceOf(InvoiceTemplate::class, $sut->setVatId('1234567890'));
self::assertEquals('1234567890', $sut->getVatId());
self::assertInstanceOf(InvoiceTemplate::class, $sut->setDecimalDuration(true));
self::assertTrue($sut->isDecimalDuration());
self::assertInstanceOf(InvoiceTemplate::class, $sut->setLanguage('de'));
self::assertEquals('de', $sut->getLanguage());

View File

@@ -139,15 +139,14 @@ class InvoiceTest extends TestCase
protected function getInvoiceModel(\DateTime $created): InvoiceModel
{
$user = new User();
$user->setUsername('one-user');
$user->setUserIdentifier('one-user');
$user->setTitle('user title');
$user->setAlias('genious alias');
$user->setEmail('fantastic@four');
$user->addPreference((new UserPreference())->setName('kitty')->setValue('kat'));
$user->addPreference((new UserPreference())->setName('hello')->setValue('world'));
$user->addPreference(new UserPreference('kitty', 'kat'));
$user->addPreference(new UserPreference('hello', 'world'));
$customer = new Customer();
$customer->setName('customer,with/special#name');
$customer = new Customer('customer,with/special#name');
$customer->setCurrency('USD');
$customer->setMetaField((new CustomerMeta())->setName('foo-customer')->setValue('bar-customer')->setIsVisible(true));
$customer->setVatId('kjuo8967');
@@ -187,7 +186,7 @@ class InvoiceTest extends TestCase
$entries = [$timesheet];
$query = new InvoiceQuery();
$query->setActivity($activity);
$query->addActivity($activity);
$query->setBegin(new \DateTime());
$query->setEnd(new \DateTime());
@@ -250,8 +249,6 @@ class InvoiceTest extends TestCase
{
$sut = new Invoice();
self::assertNull($sut->getMetaFieldValue('foo'));
$meta = new InvoiceMeta();
$meta->setName('foo')->setValue('bar2')->setType('test');
self::assertInstanceOf(Invoice::class, $sut->setMetaField($meta));
@@ -260,7 +257,6 @@ class InvoiceTest extends TestCase
self::assertSame($result, $meta);
self::assertEquals('test', $result->getType());
self::assertEquals('bar2', $result->getValue());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$meta2 = new InvoiceMeta();
$meta2->setName('foo')->setValue('bar')->setType('test2');
@@ -271,7 +267,6 @@ class InvoiceTest extends TestCase
$result = $sut->getMetaField('foo');
self::assertSame($result, $meta);
self::assertEquals('test2', $result->getType());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$sut->setMetaField((new InvoiceMeta())->setName('blub')->setIsVisible(true));
$sut->setMetaField((new InvoiceMeta())->setName('blab')->setIsVisible(true));

View File

@@ -9,7 +9,6 @@
namespace App\Tests\Entity;
use App\Entity\CommentInterface;
use App\Entity\Project;
use App\Entity\ProjectComment;
@@ -19,18 +18,14 @@ use App\Entity\ProjectComment;
*/
class ProjectCommentTest extends AbstractCommentEntityTest
{
protected function getEntity(): CommentInterface
protected function getEntity(): ProjectComment
{
return new ProjectComment();
return new ProjectComment(new Project());
}
public function testEntitySpecificMethods()
{
$sut = new ProjectComment();
self::assertNull($sut->getProject());
$project = new Project();
self::assertInstanceOf(ProjectComment::class, $sut->setProject($project));
self::assertSame($project, $sut->getProject());
$sut = $this->getEntity();
self::assertNotNull($sut->getProject());
}
}

View File

@@ -36,6 +36,6 @@ class ProjectMetaTest extends AbstractMetaEntityTest
$this->expectExceptionMessage('Expected instanceof Project, received "App\Entity\Customer"');
$sut = new ProjectMeta();
$sut->setEntity(new Customer());
$sut->setEntity(new Customer('foo'));
}
}

View File

@@ -49,7 +49,7 @@ class ProjectRateTest extends TestCase
$user = new User();
$user->setAlias('foo');
$user->setUsername('bar');
$user->setUserIdentifier('bar');
self::assertInstanceOf(ProjectRate::class, $sut->setUser($user));
self::assertSame($user, $sut->getUser());
$sut->setUser(null);

View File

@@ -16,7 +16,6 @@ use App\Entity\ProjectMeta;
use App\Entity\Team;
use App\Export\Spreadsheet\ColumnDefinition;
use App\Export\Spreadsheet\Extractor\AnnotationExtractor;
use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Collections\Collection;
/**
@@ -44,7 +43,6 @@ class ProjectTest extends AbstractEntityTest
self::assertInstanceOf(Collection::class, $sut->getMetaFields());
self::assertEquals(0, $sut->getMetaFields()->count());
self::assertNull($sut->getMetaField('foo'));
self::assertNull($sut->getMetaFieldValue('foo'));
self::assertInstanceOf(Collection::class, $sut->getTeams());
self::assertEquals(0, $sut->getTeams()->count());
self::assertTrue($sut->isVisibleAtDate(new \DateTime()));
@@ -59,7 +57,7 @@ class ProjectTest extends AbstractEntityTest
{
$sut = new Project();
$customer = (new Customer())->setName('customer');
$customer = new Customer('customer');
self::assertInstanceOf(Project::class, $sut->setCustomer($customer));
self::assertSame($customer, $sut->getCustomer());
@@ -123,7 +121,6 @@ class ProjectTest extends AbstractEntityTest
self::assertSame($result, $meta);
self::assertEquals('test', $result->getType());
self::assertEquals('bar2', $result->getValue());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$meta2 = new ProjectMeta();
$meta2->setName('foo')->setValue('bar')->setType('test2');
@@ -134,7 +131,6 @@ class ProjectTest extends AbstractEntityTest
$result = $sut->getMetaField('foo');
self::assertSame($result, $meta);
self::assertEquals('test2', $result->getType());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$sut->setMetaField((new ProjectMeta())->setName('blub')->setIsVisible(true));
$sut->setMetaField((new ProjectMeta())->setName('blab')->setIsVisible(true));
@@ -145,7 +141,7 @@ class ProjectTest extends AbstractEntityTest
public function testTeams()
{
$sut = new Project();
$team = new Team();
$team = new Team('foo');
self::assertEmpty($sut->getTeams());
self::assertEmpty($team->getProjects());
@@ -156,7 +152,7 @@ class ProjectTest extends AbstractEntityTest
self::assertSame($sut, $team->getProjects()[0]);
// test remove unknown team doesn't do anything
$sut->removeTeam(new Team());
$sut->removeTeam(new Team('foo'));
self::assertCount(1, $sut->getTeams());
self::assertCount(1, $team->getProjects());
@@ -167,27 +163,27 @@ class ProjectTest extends AbstractEntityTest
public function testExportAnnotations()
{
$sut = new AnnotationExtractor(new AnnotationReader());
$sut = new AnnotationExtractor();
$columns = $sut->extract(Project::class);
self::assertIsArray($columns);
$expected = [
['label.id', 'integer'],
['label.name', 'string'],
['label.customer', 'string'],
['label.orderNumber', 'string'],
['label.orderDate', 'datetime'],
['label.project_start', 'datetime'],
['label.project_end', 'datetime'],
['label.budget', 'float'],
['label.timeBudget', 'duration'],
['label.budgetType', 'string'],
['label.color', 'string'],
['label.visible', 'boolean'],
['label.comment', 'string'],
['label.billable', 'boolean'],
['id', 'integer'],
['name', 'string'],
['customer', 'string'],
['orderNumber', 'string'],
['orderDate', 'datetime'],
['project_start', 'datetime'],
['project_end', 'datetime'],
['budget', 'float'],
['timeBudget', 'duration'],
['budgetType', 'string'],
['color', 'string'],
['visible', 'boolean'],
['comment', 'string'],
['billable', 'boolean'],
];
self::assertCount(\count($expected), $columns);
@@ -207,8 +203,7 @@ class ProjectTest extends AbstractEntityTest
public function testClone()
{
$customer = new Customer();
$customer->setName('prj-customer');
$customer = new Customer('prj-customer');
$customer->setVatId('DE-0123456789');
$sut = new Project();
@@ -222,7 +217,7 @@ class ProjectTest extends AbstractEntityTest
$sut->setCustomer($customer);
$team = new Team();
$team = new Team('foo');
$sut->addTeam($team);
$meta = new ProjectMeta();
@@ -237,7 +232,6 @@ class ProjectTest extends AbstractEntityTest
foreach ($sut->getMetaFields() as $metaField) {
$cloneMeta = $clone->getMetaField($metaField->getName());
self::assertEquals($cloneMeta->getValue(), $metaField->getValue());
self::assertEquals($metaField->getValue(), $clone->getMetaFieldValue($metaField->getName()));
}
self::assertEquals($clone->getBudget(), $sut->getBudget());
self::assertEquals($clone->getTimeBudget(), $sut->getTimeBudget());
@@ -251,7 +245,7 @@ class ProjectTest extends AbstractEntityTest
{
$now = new \DateTime();
$customer = new Customer();
$customer = new Customer('foo');
$sut = new Project();
$sut->setVisible(false);

View File

@@ -17,18 +17,21 @@ use PHPUnit\Framework\TestCase;
*/
class RoleTest extends TestCase
{
public function testDefaultValues()
public function testDefaultValues(): void
{
$sut = new Role();
self::assertNull($sut->getId());
self::assertNull($sut->getName());
}
public function testSetterAndGetter()
public function testSetterAndGetter(): void
{
$sut = new Role();
self::assertInstanceOf(Role::class, $sut->setName('foo'));
self::assertEquals('foo', $sut->getName());
$sut->setName('foo');
self::assertEquals('FOO', $sut->getName());
$sut->setName('BAR');
self::assertEquals('BAR', $sut->getName());
}
}

View File

@@ -26,9 +26,8 @@ class TeamTest extends TestCase
{
public function testDefaultValues()
{
$sut = new Team();
$sut = new Team('foo');
self::assertNull($sut->getId());
self::assertNull($sut->getName());
self::assertFalse($sut->hasUsers());
self::assertFalse($sut->hasTeamleads());
self::assertIsArray($sut->getTeamleads());
@@ -43,7 +42,7 @@ class TeamTest extends TestCase
public function testColor()
{
$sut = new Team();
$sut = new Team('foo');
self::assertNull($sut->getColor());
self::assertFalse($sut->hasColor());
@@ -66,9 +65,9 @@ class TeamTest extends TestCase
$member2 = new TeamMember();
$member2->setUser($user);
$member2->setTeam(new Team());
$member2->setTeam(new Team('foo'));
$sut = new Team();
$sut = new Team('foo');
self::assertFalse($sut->isTeamlead($user));
self::assertCount(0, $sut->getTeamleads());
self::assertCount(0, $sut->getMembers());
@@ -119,16 +118,15 @@ class TeamTest extends TestCase
public function testTeamMembershipsException()
{
$this->expectException(\InvalidArgumentException::class);
$sut = new Team();
$sut = new Team('foo');
$member = new TeamMember();
$member->setTeam(new Team());
$member->setTeam(new Team('foo'));
$sut->addMember($member);
}
public function testSetterAndGetter()
{
$sut = new Team();
self::assertInstanceOf(Team::class, $sut->setName('foo-bar'));
$sut = new Team('foo-bar');
self::assertEquals('foo-bar', $sut->getName());
self::assertEquals('foo-bar', (string) $sut);
@@ -158,34 +156,12 @@ class TeamTest extends TestCase
self::assertCount(2, $sut->getTeamleads());
}
/**
* @group legacy
*/
public function testSetterAndGetterDeprecated()
{
$sut = new Team();
self::assertNull($sut->getTeamlead());
self::assertIsArray($sut->getUsers());
self::assertEmpty($sut->getUsers());
$user = (new User())->setAlias('Foo!');
self::assertCount(0, $sut->getUsers());
$sut->setTeamlead($user);
self::assertSame($user, $sut->getTeamlead());
self::assertTrue($sut->hasTeamleads());
self::assertCount(1, $sut->getUsers());
self::assertCount(1, $sut->getTeamleads());
self::assertCount(1, $sut->getMembers());
}
public function testCustomer()
{
$customer = new Customer();
$customer->setName('foo');
$customer = new Customer('foo');
self::assertEmpty($customer->getTeams());
$sut = new Team();
$sut = new Team('foo');
self::assertFalse($sut->hasCustomer($customer));
$sut->addCustomer($customer);
self::assertEquals(1, $sut->getCustomers()->count());
@@ -193,7 +169,7 @@ class TeamTest extends TestCase
$actual = $sut->getCustomers()[0];
self::assertSame($actual, $customer);
self::assertSame($sut, $customer->getTeams()[0]);
$sut->removeCustomer(new Customer());
$sut->removeCustomer(new Customer('foo'));
self::assertEquals(1, $sut->getCustomers()->count());
$sut->removeCustomer($customer);
self::assertEquals(0, $sut->getCustomers()->count());
@@ -205,7 +181,7 @@ class TeamTest extends TestCase
$project->setName('foo');
self::assertEmpty($project->getTeams());
$sut = new Team();
$sut = new Team('foo');
self::assertFalse($sut->hasProject($project));
$sut->addProject($project);
self::assertEquals(1, $sut->getProjects()->count());
@@ -225,7 +201,7 @@ class TeamTest extends TestCase
$activity->setName('foo');
self::assertEmpty($activity->getTeams());
$sut = new Team();
$sut = new Team('foo');
self::assertFalse($sut->hasActivity($activity));
$sut->addActivity($activity);
self::assertEquals(1, $sut->getActivities()->count());
@@ -245,7 +221,7 @@ class TeamTest extends TestCase
$user->setAlias('foo');
self::assertEmpty($user->getTeams());
$sut = new Team();
$sut = new Team('foo');
$sut->addUser($user);
self::assertCount(1, $sut->getUsers());
@@ -267,8 +243,7 @@ class TeamTest extends TestCase
public function testClone()
{
$c = new Customer();
$c->setName('Foo');
$c = new Customer('Foo');
$p = new Project();
$p->setName('Bar');
$a = new Activity();
@@ -278,9 +253,9 @@ class TeamTest extends TestCase
$member = new TeamMember();
$member->setUser(new User());
$team = new Team();
$team = new Team('foo');
$team->addCustomer($c);
$team->addCustomer(new Customer());
$team->addCustomer(new Customer('foo'));
$team->addProject($p);
$team->addProject(new Project());
$team->addActivity($a);

View File

@@ -55,7 +55,6 @@ class TimesheetTest extends TestCase
self::assertInstanceOf(Collection::class, $sut->getMetaFields());
self::assertEquals(0, $sut->getMetaFields()->count());
self::assertNull($sut->getMetaField('foo'));
self::assertNull($sut->getMetaFieldValue('foo'));
}
public function testValueCanBeNull()
@@ -75,8 +74,7 @@ class TimesheetTest extends TestCase
protected function getEntity()
{
$customer = new Customer();
$customer->setName('Test Customer');
$customer = new Customer('Test Customer');
$project = new Project();
$project->setName('Test Project');
@@ -128,7 +126,6 @@ class TimesheetTest extends TestCase
self::assertSame($result, $meta);
self::assertEquals('test', $result->getType());
self::assertEquals('bar2', $result->getValue());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$meta2 = new TimesheetMeta();
$meta2->setName('foo')->setValue('bar')->setType('test2');
@@ -139,7 +136,6 @@ class TimesheetTest extends TestCase
$result = $sut->getMetaField('foo');
self::assertSame($result, $meta);
self::assertEquals('test2', $result->getType());
self::assertEquals('bar2', $sut->getMetaFieldValue('foo'));
$sut->setMetaField((new TimesheetMeta())->setName('blub')->setIsVisible(true));
$sut->setMetaField((new TimesheetMeta())->setName('blab')->setIsVisible(true));
@@ -157,26 +153,6 @@ class TimesheetTest extends TestCase
self::assertTrue($sut->isBillable());
}
public function testResetRates()
{
$sut = new Timesheet();
self::assertSame(0.00, $sut->getRate());
self::assertNull($sut->getFixedRate());
self::assertNull($sut->getInternalRate());
self::assertNull($sut->getHourlyRate());
$sut->setRate(123.45);
$sut->setFixedRate(42.32);
$sut->setInternalRate(212);
$sut->setHourlyRate(123);
$sut->resetRates();
self::assertSame(0.00, $sut->getRate());
self::assertNull($sut->getFixedRate());
self::assertNull($sut->getInternalRate());
self::assertNull($sut->getHourlyRate());
}
public function testCategory()
{
$sut = new Timesheet();
@@ -222,7 +198,6 @@ class TimesheetTest extends TestCase
foreach ($sut->getMetaFields() as $metaField) {
$cloneMeta = $clone->getMetaField($metaField->getName());
self::assertEquals($cloneMeta->getValue(), $metaField->getValue());
self::assertEquals($metaField->getValue(), $clone->getMetaFieldValue($metaField->getName()));
}
self::assertEquals($clone->getTags(), $sut->getTags());
self::assertEquals($clone->getTags(), $sut->getTags());

View File

@@ -26,8 +26,7 @@ class TimesheetValidationTest extends KernelTestCase
protected function getEntity()
{
$customer = new Customer();
$customer->setName('Test Customer');
$customer = new Customer('Test Customer');
$project = new Project();
$project->setName('Test Project');
@@ -47,10 +46,13 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationNeedsActivity()
{
$project = new Project();
$project->setCustomer(new Customer('foo'));
$entity = new Timesheet();
$entity
->setUser(new User())
->setProject(new Project())
->setProject($project)
->setBegin(new \DateTime())
;
@@ -71,7 +73,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationProjectMismatch()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer);
$project2 = (new Project())->setName('bar')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -89,7 +91,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationCustomerInvisible()
{
$customer = (new Customer())->setVisible(false);
$customer = (new Customer('foo'))->setVisible(false);
$project = (new Project())->setName('foo')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -128,7 +130,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationCustomerInvisibleDoesNotTriggerOnStoppedEntities()
{
$customer = (new Customer())->setVisible(false);
$customer = (new Customer('foo'))->setVisible(false);
$project = (new Project())->setName('foo')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -139,7 +141,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationCustomerInvisibleDoesTriggerOnNewEntities()
{
$customer = (new Customer())->setVisible(false);
$customer = (new Customer('foo'))->setVisible(false);
$project = (new Project())->setName('foo')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -150,7 +152,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationProjectInvisible()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer)->setVisible(false);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -167,7 +169,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationProjectInvisibleDoesNotTriggerOnStoppedEntities()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer)->setVisible(false);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -178,7 +180,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationProjectInvisibleDoesTriggerOnNewEntities()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer)->setVisible(false);
$activity = (new Activity())->setName('hello-world')->setProject($project);
@@ -189,7 +191,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationActivityInvisible()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project)->setVisible(false);
@@ -206,7 +208,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationActivityInvisibleDoesNotTriggerOnStoppedEntities()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project)->setVisible(false);
@@ -217,7 +219,7 @@ class TimesheetValidationTest extends KernelTestCase
public function testValidationActivityInvisibleDoesTriggerOnNewEntities()
{
$customer = new Customer();
$customer = new Customer('foo');
$project = (new Project())->setName('foo')->setCustomer($customer);
$activity = (new Activity())->setName('hello-world')->setProject($project)->setVisible(false);
@@ -235,7 +237,7 @@ class TimesheetValidationTest extends KernelTestCase
$entity->setBegin($begin);
$entity->setEnd($end);
$this->assertHasViolationForField($entity, 'end');
$this->assertHasViolationForField($entity, 'end_date');
// allow same begin and end
$entity = $this->getEntity();

View File

@@ -22,7 +22,7 @@ class UserPreferenceTest extends TestCase
{
public function testDefaultValues()
{
$sut = new UserPreference();
$sut = new UserPreference('foo');
self::assertTrue($sut->isEnabled());
self::assertEquals('default', $sut->getSection());
self::assertEquals(1000, $sut->getOrder());
@@ -30,8 +30,8 @@ class UserPreferenceTest extends TestCase
self::assertIsArray($sut->getConstraints());
self::assertEmpty($sut->getConstraints());
self::assertNull($sut->getId());
self::assertNull($sut->getLabel());
self::assertNull($sut->getName());
self::assertEquals('foo', $sut->getLabel());
self::assertEquals('foo', $sut->getName());
self::assertIsArray($sut->getOptions());
self::assertEmpty($sut->getOptions());
self::assertNull($sut->getType());
@@ -40,7 +40,7 @@ class UserPreferenceTest extends TestCase
public function testGetValueChangesReturnTypeOnOtherType()
{
$sut = new UserPreference();
$sut = new UserPreference('foo');
$sut->setValue('1');
self::assertSame('1', $sut->getValue());
$sut->setType(IntegerType::class);
@@ -54,8 +54,7 @@ class UserPreferenceTest extends TestCase
public function testGetLabelWithLabelOption()
{
$sut = new UserPreference();
$sut->setName('foo');
$sut = new UserPreference('foo');
self::assertEquals('foo', $sut->getLabel());
$sut->setOptions(['label' => 'bar']);
self::assertEquals('bar', $sut->getLabel());

View File

@@ -17,7 +17,6 @@ use App\Entity\UserPreference;
use App\Export\Spreadsheet\ColumnDefinition;
use App\Export\Spreadsheet\Extractor\AnnotationExtractor;
use App\Tests\Security\TestUserEntity;
use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Collections\ArrayCollection;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Security\Core\User\EquatableInterface;
@@ -31,12 +30,10 @@ class UserTest extends TestCase
public function testDefaultValues()
{
$user = new User();
self::assertInstanceOf(\Serializable::class, $user);
self::assertInstanceOf(EquatableInterface::class, $user);
self::assertInstanceOf(UserInterface::class, $user);
$this->assertInstanceOf(ArrayCollection::class, $user->getPreferences());
self::assertNull($user->getTitle());
self::assertNull($user->getDisplayName());
self::assertNull($user->getAvatar());
self::assertNull($user->getAlias());
self::assertNull($user->getId());
@@ -47,10 +44,14 @@ class UserTest extends TestCase
self::assertEquals(User::DEFAULT_LANGUAGE, $user->getLocale());
self::assertFalse($user->hasTeamAssignment());
self::assertFalse($user->canSeeAllData());
self::assertFalse($user->isSmallLayout());
self::assertFalse($user->isExportDecimal());
self::assertFalse($user->isSystemAccount());
self::assertTrue($user->is24Hour());
$user->setUserIdentifier('foo');
self::assertEquals('foo', $user->getUserIdentifier());
self::assertEquals('foo', $user->getDisplayName());
$user->setAlias('BAR');
self::assertEquals('BAR', $user->getDisplayName());
$user->setAvatar('https://www.gravatar.com/avatar/00000000000000000000000000000000?d=retro&f=y');
self::assertEquals('https://www.gravatar.com/avatar/00000000000000000000000000000000?d=retro&f=y', $user->getAvatar());
@@ -83,6 +84,22 @@ class UserTest extends TestCase
self::assertTrue($sut->hasColor());
}
public function testWizards()
{
$sut = new User();
// internal name may not be changed
self::assertNull($sut->getPreferenceValue('__wizards__'));
self::assertFalse($sut->hasSeenWizard('intro'));
$sut->setWizardAsSeen('intro');
self::assertTrue($sut->hasSeenWizard('intro'));
self::assertNotNull($sut->getPreferenceValue('__wizards__'));
$sut->setWizardAsSeen('intro');
self::assertTrue($sut->hasSeenWizard('intro'));
self::assertFalse($sut->hasSeenWizard('profile'));
$sut->setWizardAsSeen('profile');
self::assertTrue($sut->hasSeenWizard('profile'));
}
public function testAuth()
{
$user = new User();
@@ -138,34 +155,21 @@ class UserTest extends TestCase
$user = new User();
self::assertNull($user->getPreference('test'));
self::assertNull($user->getPreferenceValue('test'));
self::assertNull($user->getMetaFieldValue('test'));
self::assertEquals('foo', $user->getPreferenceValue('test', 'foo'));
$preference = new UserPreference();
$preference
->setName('test')
->setValue('foobar');
$preference = new UserPreference('test', 'foobar');
$user->addPreference($preference);
self::assertEquals('foobar', $user->getPreferenceValue('test', 'foo'));
self::assertEquals('foobar', $user->getMetaFieldValue('test'));
self::assertEquals($preference, $user->getPreference('test'));
$user->setPreferenceValue('test', 'Hello World');
self::assertEquals('Hello World', $user->getPreferenceValue('test', 'foo'));
self::assertEquals('Hello World', $user->getMetaFieldValue('test'));
self::assertNull($user->getPreferenceValue('test2'));
self::assertNull($user->getMetaFieldValue('test2'));
$user->setPreferenceValue('test2', 'I like rain');
self::assertEquals('I like rain', $user->getPreferenceValue('test2'));
self::assertEquals('I like rain', $user->getMetaFieldValue('test2'));
$user->setPreferenceValue('theme.layout', 'boxed');
self::assertTrue($user->isSmallLayout());
$user->setPreferenceValue('theme.layout', '12345');
self::assertFalse($user->isSmallLayout());
$user->setPreferenceValue('timesheet.export_decimal', true);
$user->setPreferenceValue('export_decimal', true);
self::assertTrue($user->isExportDecimal());
}
@@ -173,14 +177,30 @@ class UserTest extends TestCase
{
$user = new User();
$user->setUsername('bar');
$user->setUserIdentifier('bar');
self::assertEquals('bar', $user->getDisplayName());
self::assertEquals('bar', $user->getUsername());
self::assertEquals('bar', $user->getUserIdentifier());
self::assertEquals('bar', (string) $user);
$user->setAlias('foo');
self::assertEquals('foo', $user->getAlias());
self::assertEquals('bar', $user->getUsername());
self::assertEquals('bar', $user->getUserIdentifier());
self::assertEquals('foo', $user->getDisplayName());
self::assertEquals('foo', (string) $user);
}
public function testGetUsername()
{
$user = new User();
$user->setUserIdentifier('bar');
self::assertEquals('bar', $user->getDisplayName());
self::assertEquals('bar', $user->getUserIdentifier());
self::assertEquals('bar', (string) $user);
$user->setAlias('foo');
self::assertEquals('foo', $user->getAlias());
self::assertEquals('bar', $user->getUserIdentifier());
self::assertEquals('foo', $user->getDisplayName());
self::assertEquals('foo', (string) $user);
}
@@ -190,9 +210,7 @@ class UserTest extends TestCase
$sut = new User();
self::assertEquals(User::DEFAULT_LANGUAGE, $sut->getLocale());
$language = new UserPreference();
$language->setName(UserPreference::LOCALE);
$language->setValue('fr');
$language = new UserPreference(UserPreference::LOCALE, 'fr');
$sut->addPreference($language);
self::assertEquals('fr', $sut->getLocale());
@@ -202,7 +220,7 @@ class UserTest extends TestCase
{
$sut = new User();
$user = new User();
$team = new Team();
$team = new Team('foo');
self::assertEmpty($sut->getTeams());
self::assertEmpty($team->getUsers());
@@ -223,10 +241,10 @@ class UserTest extends TestCase
self::assertFalse($sut->isTeamleadOf($team));
self::assertTrue($sut->isInTeam($team));
$team2 = new Team();
$team2 = new Team('foo');
self::assertFalse($sut->isInTeam($team2));
self::assertFalse($sut->isTeamleadOf($team2));
$team2->setTeamLead($sut);
$team2->addTeamLead($sut);
self::assertTrue($sut->isTeamleadOf($team2));
self::assertTrue($sut->isInTeam($team2));
@@ -305,10 +323,7 @@ class UserTest extends TestCase
// lets keep it, as it occured during the work on SAML authentication
$sut = new User();
$preference = new UserPreference();
$preference
->setName('test')
->setValue('foobar');
$preference = new UserPreference('test', 'foobar');
$property = new \ReflectionProperty(User::class, 'preferences');
$property->setAccessible(true);
@@ -330,28 +345,38 @@ class UserTest extends TestCase
self::assertFalse($sut->initCanSeeAllData(true));
}
public function testSystemAccount()
{
$sut = new User();
self::assertFalse($sut->isSystemAccount());
$sut->setSystemAccount(true);
self::assertTrue($sut->isSystemAccount());
$sut->setSystemAccount(false);
self::assertFalse($sut->isSystemAccount());
}
public function testExportAnnotations()
{
$sut = new AnnotationExtractor(new AnnotationReader());
$sut = new AnnotationExtractor();
$columns = $sut->extract(User::class);
self::assertIsArray($columns);
$expected = [
['label.id', 'integer'],
['label.username', 'string'],
['label.alias', 'string'],
['label.title', 'string'],
['label.email', 'string'],
['label.lastLogin', 'datetime'],
['label.language', 'string'],
['label.timezone', 'string'],
['label.active', 'boolean'],
['id', 'integer'],
['username', 'string'],
['alias', 'string'],
['title', 'string'],
['email', 'string'],
['lastLogin', 'datetime'],
['language', 'string'],
['timezone', 'string'],
['active', 'boolean'],
['profile.registration_date', 'datetime'],
['label.roles', 'array'],
['label.color', 'string'],
['label.account_number', 'string'],
['roles', 'array'],
['color', 'string'],
['account_number', 'string'],
];
self::assertCount(\count($expected), $columns);
@@ -372,6 +397,7 @@ class UserTest extends TestCase
public function testEqualsTo()
{
$sut = new User();
$sut->setUserIdentifier('foo');
$user = new TestUserEntity();
self::assertFalse($sut->isEqualTo($user));
@@ -389,11 +415,11 @@ class UserTest extends TestCase
self::assertTrue($sut->isEqualTo($sut2));
self::assertTrue($sut2->isEqualTo($sut));
$sut->setUsername('12345678');
$sut->setUserIdentifier('12345678');
self::assertFalse($sut->isEqualTo($sut2));
self::assertFalse($sut2->isEqualTo($sut));
$sut2->setUsername('12345678');
$sut2->setUserIdentifier('12345678');
self::assertTrue($sut->isEqualTo($sut2));
self::assertTrue($sut2->isEqualTo($sut));
}
@@ -402,7 +428,7 @@ class UserTest extends TestCase
{
$sut = new User();
$sut->setPassword('ABC-1234567890');
$sut->setUsername('foo-BAR');
$sut->setUserIdentifier('foo-BAR');
$sut->setEmail('hello@world.com');
$sut->setEnabled(false);
@@ -415,10 +441,11 @@ class UserTest extends TestCase
'hello@world.com',
];
/** @var User $unserialized */
$unserialized = unserialize($data);
$actual = [
$unserialized->getUsername(),
$unserialized->getUserIdentifier(),
$unserialized->isEnabled(),
$unserialized->getId(),
$unserialized->getEmail(),
@@ -429,8 +456,7 @@ class UserTest extends TestCase
public function testTeamMemberships()
{
$team = new Team();
$team->setName('Foo');
$team = new Team('Foo');
$member = new TeamMember();
$member->setTeam($team);
@@ -475,7 +501,7 @@ class UserTest extends TestCase
self::assertCount(1, $sut->getMemberships());
self::assertSame($sut, $member21->getUser());
$sut->addTeam(new Team());
$sut->addTeam(new Team('foo'));
self::assertCount(2, $sut->getTeams());
self::assertCount(2, $sut->getMemberships());
@@ -491,15 +517,4 @@ class UserTest extends TestCase
$member->setUser(new User());
$sut->addMembership($member);
}
public function test24Hour()
{
$user = new User();
self::assertTrue($user->is24Hour());
self::assertEquals('H:i', $user->getTimeFormat());
$user->setPreferenceValue(UserPreference::HOUR_24, false);
self::assertFalse($user->is24Hour());
self::assertEquals('h:i A', $user->getTimeFormat());
}
}

View File

@@ -24,7 +24,6 @@ class UserValidationTest extends KernelTestCase
{
return [
['', ''],
[null, null],
['x', 'test@'], // too short username
[str_pad('#', 61, '-'), 'test@x.'], // too long username
];
@@ -40,7 +39,7 @@ class UserValidationTest extends KernelTestCase
];
$user = new User();
$user->setUsername($username);
$user->setUserIdentifier($username);
$user->setEmail($email);
if (!empty($roles)) {
$user->setRoles($roles);
@@ -53,7 +52,7 @@ class UserValidationTest extends KernelTestCase
public function testInvalidRoles()
{
$user = new User();
$user->setUsername('foo');
$user->setUserIdentifier('foo');
$user->setEmail('foo@example.com');
$user->setRoles(['xxxxxx']);
@@ -63,7 +62,7 @@ class UserValidationTest extends KernelTestCase
public function testValidRoles()
{
$user = new User();
$user->setUsername('foo');
$user->setUserIdentifier('foo');
$user->setEmail('foo@example.com');
$user->setRoles(['ROLE_TEAMLEAD']);
@@ -84,7 +83,7 @@ class UserValidationTest extends KernelTestCase
public function testValidValues($username, $email, $roles = [])
{
$user = new User();
$user->setUsername($username);
$user->setUserIdentifier($username);
$user->setEmail($email);
if (!empty($roles)) {
$user->setRoles($roles);