object = $this->getMockBuilder(ConfirmationRedirect::class)->getMockForAbstractClass(); $this->assertTrue(class_exists(ConfirmationRedirect::class)); $this->assertInstanceOf(ConfirmationRedirect::class, $this->object); } /** * Test property "type" * * @return void * @throws Exception */ public function testType(): void { $instance = $this->getTestInstance(); self::assertNotNull($instance->getType()); self::assertNotNull($instance->type); self::assertContains($instance->getType(), ['redirect']); self::assertContains($instance->type, ['redirect']); } /** * Test invalid property "type" * @dataProvider invalidTypeDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidType(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setType($value); } /** * @return array[] * @throws Exception */ public function invalidTypeDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_type')); } /** * Test property "enforce" * @dataProvider validEnforceDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testEnforce(mixed $value): void { $instance = $this->getTestInstance(); self::assertEmpty($instance->getEnforce()); self::assertEmpty($instance->enforce); $instance->setEnforce($value); self::assertEquals($value, is_array($value) ? $instance->getEnforce()->toArray() : $instance->getEnforce()); self::assertEquals($value, is_array($value) ? $instance->enforce->toArray() : $instance->enforce); if (!empty($value)) { self::assertNotNull($instance->getEnforce()); self::assertNotNull($instance->enforce); self::assertIsBool($instance->getEnforce()); self::assertIsBool($instance->enforce); self::assertIsBool($instance->getEnforce()); self::assertIsBool($instance->enforce); } } /** * Test invalid property "enforce" * @dataProvider invalidEnforceDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidEnforce(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setEnforce($value); } /** * @return array[] * @throws Exception */ public function validEnforceDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_enforce')); } /** * @return array[] * @throws Exception */ public function invalidEnforceDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_enforce')); } /** * Test property "return_url" * @dataProvider validReturnUrlDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testReturnUrl(mixed $value): void { $instance = $this->getTestInstance(); self::assertEmpty($instance->getReturnUrl()); self::assertEmpty($instance->return_url); $instance->setReturnUrl($value); self::assertEquals($value, is_array($value) ? $instance->getReturnUrl()->toArray() : $instance->getReturnUrl()); self::assertEquals($value, is_array($value) ? $instance->return_url->toArray() : $instance->return_url); if (!empty($value)) { self::assertNotNull($instance->getReturnUrl()); self::assertNotNull($instance->return_url); self::assertLessThanOrEqual(2048, is_string($instance->getReturnUrl()) ? mb_strlen($instance->getReturnUrl()) : $instance->getReturnUrl()); self::assertLessThanOrEqual(2048, is_string($instance->return_url) ? mb_strlen($instance->return_url) : $instance->return_url); } } /** * Test invalid property "return_url" * @dataProvider invalidReturnUrlDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidReturnUrl(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setReturnUrl($value); } /** * @return array[] * @throws Exception */ public function validReturnUrlDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_return_url')); } /** * @return array[] * @throws Exception */ public function invalidReturnUrlDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_return_url')); } /** * Test property "confirmation_url" * @dataProvider validConfirmationUrlDataProvider * @param mixed $value * * @return void * @throws Exception */ public function testConfirmationUrl(mixed $value): void { $instance = $this->getTestInstance(); $instance->setConfirmationUrl($value); self::assertNotNull($instance->getConfirmationUrl()); self::assertNotNull($instance->confirmation_url); self::assertEquals($value, is_array($value) ? $instance->getConfirmationUrl()->toArray() : $instance->getConfirmationUrl()); self::assertEquals($value, is_array($value) ? $instance->confirmation_url->toArray() : $instance->confirmation_url); } /** * Test invalid property "confirmation_url" * @dataProvider invalidConfirmationUrlDataProvider * @param mixed $value * @param string $exceptionClass * * @return void */ public function testInvalidConfirmationUrl(mixed $value, string $exceptionClass): void { $instance = $this->getTestInstance(); $this->expectException($exceptionClass); $instance->setConfirmationUrl($value); } /** * @return array[] * @throws Exception */ public function validConfirmationUrlDataProvider(): array { $instance = $this->getTestInstance(); return $this->getValidDataProviderByType($instance->getValidator()->getRulesByPropName('_confirmation_url')); } /** * @return array[] * @throws Exception */ public function invalidConfirmationUrlDataProvider(): array { $instance = $this->getTestInstance(); return $this->getInvalidDataProviderByType($instance->getValidator()->getRulesByPropName('_confirmation_url')); } }