/** * Tests widget without filters. */ public function testNoFilterResults() { $facet = new Facet([], 'facet'); $facet->setResults($this->originalResults); $facet->setWidgetConfigs(['show_numbers' => 1]); $output = $this->widget->build($facet); $this->assertInternalType('array', $output); $this->assertCount(4, $output['#items']); $this->assertEquals(['js-facets-checkbox-links'], $output['#attributes']['class']); $expected_links = [$this->buildLinkAssertion('Llama', 10), $this->buildLinkAssertion('Badger', 20), $this->buildLinkAssertion('Duck', 15), $this->buildLinkAssertion('Alpaca', 9)]; foreach ($expected_links as $index => $value) { $this->assertInternalType('array', $output['#items'][$index]); $this->assertEquals($value, $output['#items'][$index]['#title']); $this->assertInstanceOf(FormattableMarkup::class, $output['#items'][$index]['#title']); $this->assertEquals('link', $output['#items'][$index]['#type']); $this->assertEquals(['facet-item'], $output['#items'][$index]['#wrapper_attributes']['class']); } }
/** * Tests for links widget with children. */ public function testChildren() { $original_results = $this->originalResults; $child = new Result('snake', 'Snake', 5); $original_results[1]->setActiveState(TRUE); $original_results[1]->setChildren($child); $facet = new Facet([], 'facet'); $facet->setResults($original_results); $facet->setWidgetConfigs(['show_numbers' => 1]); $output = $this->widget->build($facet); $this->assertInternalType('array', $output); $this->assertCount(4, $output['#items']); $expected_links = [$this->buildLinkAssertion('Llama', 10), $this->buildLinkAssertion('Badger', 20, TRUE), $this->buildLinkAssertion('Duck', 15), $this->buildLinkAssertion('Alpaca', 9)]; foreach ($expected_links as $index => $value) { $this->assertInternalType('array', $output['#items'][$index]); $this->assertEquals($value, $output['#items'][$index]['#title']); $this->assertEquals('link', $output['#items'][$index]['#type']); if ($index === 1) { $this->assertEquals('active-trail', $output['#items'][$index]['#attributes']['class']); $this->assertEquals(['facet-item', 'expanded'], $output['#items'][$index]['#wrapper_attributes']['class']); } else { $this->assertEquals(['facet-item'], $output['#items'][$index]['#wrapper_attributes']['class']); } } }