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(Chronos::parse('2015-01-01')->toAtomString(), null, 'foobar'); $this->assertTrue($meta->hasValidSince()); $this->assertEquals(Chronos::parse('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()); } }