From e8a0c5484c77faf896ad06969c1792beb61bd011 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sun, 7 Jan 2018 20:07:12 +0100 Subject: [PATCH] Added test for ShortUrlMeta --- module/Core/test/Model/ShortUrlMetaTest.php | 59 +++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 module/Core/test/Model/ShortUrlMetaTest.php diff --git a/module/Core/test/Model/ShortUrlMetaTest.php b/module/Core/test/Model/ShortUrlMetaTest.php new file mode 100644 index 00000000..8341fbb7 --- /dev/null +++ b/module/Core/test/Model/ShortUrlMetaTest.php @@ -0,0 +1,59 @@ +expectException(ValidationException::class); + ShortUrlMeta::createFromRawData($data); + } + + public function provideInvalidData(): array + { + return [ + [[ + ShortUrlMetaInputFilter::VALID_SINCE => '', + ShortUrlMetaInputFilter::VALID_UNTIL => '', + ShortUrlMetaInputFilter::CUSTOM_SLUG => 'foobar', + ShortUrlMetaInputFilter::MAX_VISITS => 'invalid', + ]], + [[ + ShortUrlMetaInputFilter::VALID_SINCE => '2017', + ShortUrlMetaInputFilter::MAX_VISITS => 5, + ]], + ]; + } + + /** + * @test + */ + public function properlyCreatedInstanceReturnsValues() + { + $meta = ShortUrlMeta::createFromParams((new \DateTime('2015-01-01'))->format(\DateTime::ATOM), null, 'foobar'); + + $this->assertTrue($meta->hasValidSince()); + $this->assertEquals(new \DateTime('2015-01-01'), $meta->getValidSince()); + + $this->assertFalse($meta->hasValidUntil()); + $this->assertNull($meta->getValidUntil()); + + $this->assertTrue($meta->hasCustomSlug()); + $this->assertEquals('foobar', $meta->getCustomSlug()); + + $this->assertFalse($meta->hasMaxVisits()); + $this->assertNull($meta->getMaxVisits()); + } +}