Lines 100.00% 8 / 8
Methods 100.00% 1 / 1
Classes 100.00% 1 / 1
Covered by tests of size
Name Lines Methods CRAP
 build 100.00% 8 / 8 100.00% 1 / 1 4
24final class ShowStrategy implements StrategyInterface
25{
26    /**
27     * @param array<string,string> $params
28     */
29    public function build(array $params, Link $link): string
30    {
31        $cat = $params[Link::LINK_GET_CATEGORY] ?? 0;
32        if ($cat === 0 || $cat === '0') {
33            return Link::LINK_HTML_SHOW_CATEGORIES;
34        }
35
36        $url = Link::LINK_CATEGORY . $cat;
37        $page = $params[Link::LINK_GET_PAGE] ?? null;
38        if ($page !== null) {
39            $url .= Link::LINK_HTML_SLASH . $page;
40        }
41
42        return $url . Link::LINK_HTML_SLASH . $link->getSEOTitle() . Link::LINK_HTML_EXTENSION;
43    }
44}