Release 2.40.0 (#5621)
This commit is contained in:
@@ -45,4 +45,27 @@ abstract class AbstractEntityTestCase extends TestCase
|
||||
self::assertEquals('Unknown budget type: foo', $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function assertCloneResetsId(object $sut): void
|
||||
{
|
||||
if (!property_exists($sut, 'id')) {
|
||||
$this->fail('Entity does not have an ID property');
|
||||
}
|
||||
if (!method_exists($sut, 'getId')) {
|
||||
$this->fail('Entity does not have a getId() method');
|
||||
}
|
||||
|
||||
self::assertNull($sut->getId());
|
||||
$obj = new \ReflectionObject($sut);
|
||||
$prop = $obj->getProperty('id');
|
||||
$prop->setAccessible(true);
|
||||
$prop->setValue($sut, 123);
|
||||
self::assertEquals(123, $sut->getId());
|
||||
|
||||
$clone = clone $sut;
|
||||
|
||||
self::assertNull($clone->getId());
|
||||
$prop->setValue($sut, null);
|
||||
$prop->setAccessible(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,4 +48,11 @@ class AccessTokenTest extends AbstractEntityTestCase
|
||||
$sut->setExpiresAt(new \DateTimeImmutable('-1 day'));
|
||||
self::assertFalse($sut->isValid());
|
||||
}
|
||||
|
||||
public function testClone(): void
|
||||
{
|
||||
$user = new User();
|
||||
$sut = new AccessToken($user, 'foo');
|
||||
$this->assertCloneResetsId($sut);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,13 +11,12 @@ namespace App\Tests\Entity;
|
||||
|
||||
use App\Entity\Activity;
|
||||
use App\Entity\ActivityRate;
|
||||
use App\Entity\Rate;
|
||||
use App\Entity\User;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Entity\Rate
|
||||
*/
|
||||
#[CoversClass(Rate::class)]
|
||||
#[CoversClass(ActivityRate::class)]
|
||||
class ActivityRateTest extends TestCase
|
||||
{
|
||||
|
||||
@@ -175,6 +175,8 @@ class ActivityTest extends AbstractEntityTestCase
|
||||
$sut->setName('activity1111');
|
||||
$sut->setComment('DE-0123456789');
|
||||
|
||||
$this->assertCloneResetsId($sut);
|
||||
|
||||
$project = new Project();
|
||||
$project->setName('foo');
|
||||
$project->setOrderNumber('1234567890');
|
||||
|
||||
@@ -12,10 +12,9 @@ namespace App\Tests\Entity;
|
||||
use App\Entity\Bookmark;
|
||||
use App\Entity\User;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(Bookmark::class)]
|
||||
class BookmarkTest extends TestCase
|
||||
class BookmarkTest extends AbstractEntityTestCase
|
||||
{
|
||||
public function testDefaultValues(): void
|
||||
{
|
||||
@@ -48,4 +47,10 @@ class BookmarkTest extends TestCase
|
||||
self::assertEquals('sdsdsd', $sut2->getType());
|
||||
self::assertEquals('foo-bar', $sut2->getName());
|
||||
}
|
||||
|
||||
public function testClone(): void
|
||||
{
|
||||
$sut = new Bookmark();
|
||||
$this->assertCloneResetsId($sut);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,5 +31,14 @@ class ConfigurationTest extends TestCase
|
||||
self::assertEquals('foo-bar', $sut->getName());
|
||||
self::assertInstanceOf(Configuration::class, $sut->setValue('hello world'));
|
||||
self::assertEquals('hello world', $sut->getValue());
|
||||
|
||||
self::assertInstanceOf(Configuration::class, $sut->setValue(true));
|
||||
self::assertEquals('1', $sut->getValue());
|
||||
|
||||
self::assertInstanceOf(Configuration::class, $sut->setValue(null));
|
||||
self::assertNull($sut->getValue());
|
||||
|
||||
self::assertInstanceOf(Configuration::class, $sut->setValue(false));
|
||||
self::assertEquals('0', $sut->getValue());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,13 +9,12 @@
|
||||
|
||||
namespace App\Tests\Entity;
|
||||
|
||||
use App\Entity\CommentTableTypeTrait;
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\CustomerComment;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
/**
|
||||
* @covers \App\Entity\CommentTableTypeTrait
|
||||
*/
|
||||
#[CoversClass(CommentTableTypeTrait::class)]
|
||||
#[CoversClass(CustomerComment::class)]
|
||||
class CustomerCommentTest extends AbstractCommentEntityTestCase
|
||||
{
|
||||
|
||||
@@ -11,13 +11,12 @@ namespace App\Tests\Entity;
|
||||
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\CustomerRate;
|
||||
use App\Entity\Rate;
|
||||
use App\Entity\User;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Entity\Rate
|
||||
*/
|
||||
#[CoversClass(Rate::class)]
|
||||
#[CoversClass(CustomerRate::class)]
|
||||
class CustomerRateTest extends TestCase
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace App\Tests\Entity;
|
||||
use App\Constants;
|
||||
use App\Entity\Customer;
|
||||
use App\Entity\CustomerMeta;
|
||||
use App\Entity\InvoiceTemplate;
|
||||
use App\Entity\Team;
|
||||
use App\Export\Spreadsheet\ColumnDefinition;
|
||||
use App\Export\Spreadsheet\Extractor\AnnotationExtractor;
|
||||
@@ -51,6 +52,26 @@ class CustomerTest extends AbstractEntityTestCase
|
||||
self::assertNull($sut->getMetaField('foo'));
|
||||
self::assertInstanceOf(Collection::class, $sut->getTeams());
|
||||
self::assertEquals(0, $sut->getTeams()->count());
|
||||
self::assertTrue($sut->isNew());
|
||||
self::assertNull($sut->getInvoiceText());
|
||||
self::assertNull($sut->getInvoiceTemplate());
|
||||
}
|
||||
|
||||
public function testInvoiceText(): void
|
||||
{
|
||||
$sut = new Customer('foo');
|
||||
self::assertNull($sut->getInvoiceText());
|
||||
$sut->setInvoiceText('Some fancy long text to explain that tax should be handled by the receiving party');
|
||||
self::assertEquals('Some fancy long text to explain that tax should be handled by the receiving party', $sut->getInvoiceText());
|
||||
}
|
||||
|
||||
public function testInvoiceTemplate(): void
|
||||
{
|
||||
$tpl = new InvoiceTemplate();
|
||||
$sut = new Customer('foo');
|
||||
self::assertNull($sut->getInvoiceTemplate());
|
||||
$sut->setInvoiceTemplate($tpl);
|
||||
self::assertSame($tpl, $sut->getInvoiceTemplate());
|
||||
}
|
||||
|
||||
public function testBudgets(): void
|
||||
@@ -221,6 +242,9 @@ class CustomerTest extends AbstractEntityTestCase
|
||||
public function testClone(): void
|
||||
{
|
||||
$sut = new Customer('mycustomer');
|
||||
|
||||
$this->assertCloneResetsId($sut);
|
||||
|
||||
$sut->setVatId('DE-0123456789');
|
||||
$sut->setTimeBudget(123456);
|
||||
$sut->setBudget(1234.56);
|
||||
|
||||
@@ -19,6 +19,7 @@ class ExportTemplateTest extends AbstractEntityTestCase
|
||||
{
|
||||
$sut = new ExportTemplate();
|
||||
self::assertNull($sut->getId());
|
||||
self::assertTrue($sut->isNew());
|
||||
self::assertNull($sut->getTitle());
|
||||
self::assertEquals('csv', $sut->getRenderer());
|
||||
self::assertNull($sut->getLanguage());
|
||||
@@ -115,6 +116,7 @@ class ExportTemplateTest extends AbstractEntityTestCase
|
||||
$p->setAccessible(true);
|
||||
$p->setValue($sut, 13);
|
||||
self::assertEquals(13, $sut->getId());
|
||||
self::assertFalse($sut->isNew());
|
||||
|
||||
$sut2 = clone $sut;
|
||||
self::assertNull($sut2->getId());
|
||||
|
||||
@@ -34,6 +34,7 @@ class InvoiceTemplateTest extends TestCase
|
||||
self::assertEquals('default', $sut->getNumberGenerator());
|
||||
self::assertEquals('default', $sut->getRenderer());
|
||||
self::assertEquals(30, $sut->getDueDays());
|
||||
self::assertTrue($sut->isDecimalDuration()); // @phpstan-ignore method.deprecated
|
||||
}
|
||||
|
||||
public function testSetNullForOptionalValues(): void
|
||||
|
||||
@@ -29,10 +29,9 @@ use App\Repository\Query\InvoiceQuery;
|
||||
use App\Tests\Invoice\DebugFormatter;
|
||||
use App\Tests\Mocks\InvoiceModelFactoryFactory;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(Invoice::class)]
|
||||
class InvoiceTest extends TestCase
|
||||
class InvoiceTest extends AbstractEntityTestCase
|
||||
{
|
||||
public function testDefaultValues(): void
|
||||
{
|
||||
@@ -219,6 +218,8 @@ class InvoiceTest extends TestCase
|
||||
public function testClone(): void
|
||||
{
|
||||
$sut = new Invoice();
|
||||
$this->assertCloneResetsId($sut);
|
||||
|
||||
$sut->setComment('foo kajsdhgf aksjdhfg');
|
||||
$sut->setFilename('1234567890');
|
||||
|
||||
|
||||
@@ -9,13 +9,12 @@
|
||||
|
||||
namespace App\Tests\Entity;
|
||||
|
||||
use App\Entity\CommentTableTypeTrait;
|
||||
use App\Entity\Project;
|
||||
use App\Entity\ProjectComment;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
||||
/**
|
||||
* @covers \App\Entity\CommentTableTypeTrait
|
||||
*/
|
||||
#[CoversClass(CommentTableTypeTrait::class)]
|
||||
#[CoversClass(ProjectComment::class)]
|
||||
class ProjectCommentTest extends AbstractCommentEntityTestCase
|
||||
{
|
||||
|
||||
@@ -11,13 +11,12 @@ namespace App\Tests\Entity;
|
||||
|
||||
use App\Entity\Project;
|
||||
use App\Entity\ProjectRate;
|
||||
use App\Entity\Rate;
|
||||
use App\Entity\User;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @covers \App\Entity\Rate
|
||||
*/
|
||||
#[CoversClass(Rate::class)]
|
||||
#[CoversClass(ProjectRate::class)]
|
||||
class ProjectRateTest extends TestCase
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user