mirror of
https://github.com/shlinkio/shlink.git
synced 2026-02-28 04:03:12 +08:00
Simplify NotFoundRedirectConfigInterface with property hooks and asymetric visibility
This commit is contained in:
@@ -69,11 +69,11 @@ class DomainRedirectsRequest
|
||||
public function toNotFoundRedirects(NotFoundRedirectConfigInterface|null $defaults = null): NotFoundRedirects
|
||||
{
|
||||
return NotFoundRedirects::withRedirects(
|
||||
$this->baseUrlRedirectWasProvided ? $this->baseUrlRedirect : $defaults?->baseUrlRedirect(),
|
||||
$this->regular404RedirectWasProvided ? $this->regular404Redirect : $defaults?->regular404Redirect(),
|
||||
$this->baseUrlRedirectWasProvided ? $this->baseUrlRedirect : $defaults?->baseUrlRedirect,
|
||||
$this->regular404RedirectWasProvided ? $this->regular404Redirect : $defaults?->regular404Redirect,
|
||||
$this->invalidShortUrlRedirectWasProvided
|
||||
? $this->invalidShortUrlRedirect
|
||||
: $defaults?->invalidShortUrlRedirect(),
|
||||
: $defaults?->invalidShortUrlRedirect,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,13 +68,13 @@ class DomainRedirectsActionTest extends TestCase
|
||||
NotFoundRedirects::withRedirects(
|
||||
array_key_exists(DomainRedirectsInputFilter::BASE_URL_REDIRECT, $redirects)
|
||||
? $redirects[DomainRedirectsInputFilter::BASE_URL_REDIRECT]
|
||||
: $domain->baseUrlRedirect(),
|
||||
: $domain->baseUrlRedirect,
|
||||
array_key_exists(DomainRedirectsInputFilter::REGULAR_404_REDIRECT, $redirects)
|
||||
? $redirects[DomainRedirectsInputFilter::REGULAR_404_REDIRECT]
|
||||
: $domain->regular404Redirect(),
|
||||
: $domain->regular404Redirect,
|
||||
array_key_exists(DomainRedirectsInputFilter::INVALID_SHORT_URL_REDIRECT, $redirects)
|
||||
? $redirects[DomainRedirectsInputFilter::INVALID_SHORT_URL_REDIRECT]
|
||||
: $domain->invalidShortUrlRedirect(),
|
||||
: $domain->invalidShortUrlRedirect,
|
||||
),
|
||||
$apiKey,
|
||||
);
|
||||
|
||||
@@ -51,7 +51,7 @@ class DomainRedirectsRequestTest extends TestCase
|
||||
yield 'some values' => [['domain' => 'foo', 'regular404Redirect' => 'bar'], null, 'foo', null, 'bar', null];
|
||||
yield 'fallbacks' => [
|
||||
['domain' => 'domain', 'baseUrlRedirect' => 'bar'],
|
||||
new NotFoundRedirectOptions(invalidShortUrl: 'fallback2', regular404: 'fallback'),
|
||||
new NotFoundRedirectOptions(invalidShortUrlRedirect: 'fallback2', regular404Redirect: 'fallback'),
|
||||
'domain',
|
||||
'bar',
|
||||
'fallback',
|
||||
@@ -59,7 +59,7 @@ class DomainRedirectsRequestTest extends TestCase
|
||||
];
|
||||
yield 'fallback ignored' => [
|
||||
['domain' => 'domain', 'regular404Redirect' => 'bar', 'invalidShortUrlRedirect' => null],
|
||||
new NotFoundRedirectOptions(invalidShortUrl: 'fallback2', regular404: 'fallback'),
|
||||
new NotFoundRedirectOptions(invalidShortUrlRedirect: 'fallback2', regular404Redirect: 'fallback'),
|
||||
'domain',
|
||||
null,
|
||||
'bar',
|
||||
|
||||
Reference in New Issue
Block a user