dchadwick/web/modules/custom/ufc/tests/src/Kernel/WebScraperKernelTest.php

45 lines
7.4 KiB
PHP
Raw Normal View History

2024-04-20 15:13:53 -07:00
<?php
declare(strict_types=1);
namespace Drupal\Tests\ufc\Kernel;
use Drupal\Tests\UnitTestCase;
2025-10-15 22:49:16 -04:00
use Symfony\Component\DomCrawler\Crawler;
2024-04-20 15:13:53 -07:00
/**
* @coversDefaultClass \Drupal\ufc\Services\FightImporter
* @group ufc
*/
class WebScraperKernelTest extends UnitTestCase {
protected $fighterImporter;
2025-10-15 22:49:16 -04:00
protected $fighter;
protected $crawler;
2024-04-20 15:13:53 -07:00
public function setUp(): void {
parent::setUp();
$this->fighterImporter = $this->createMock('Drupal\ufc\Services\FighterImporter');
2025-10-15 22:49:16 -04:00
$this->fighter = $this->createMock('Drupal\ufc\Fighter');
$this->crawler = $this->createMock('Symfony\Component\DomCrawler\Crawler');
2024-04-20 15:13:53 -07:00
}
/**
* @dataProvider extractFighterNamesDataProvider
*/
2025-10-15 22:49:16 -04:00
public function testValidFighter($test_input) {
$this->fighter->first_name = 'scott';
$this->fighter->crawler = new Crawler($test_input);
$this->fighter->setAge();
dump($this->fighter->first_name);
2024-04-20 15:13:53 -07:00
$this->assertEquals("1", 2, "These do not match.");
}
2025-10-15 22:49:16 -04:00
public static function extractFighterNamesDataProvider(): array {
2024-04-20 15:13:53 -07:00
return [
2025-10-15 22:49:16 -04:00
['<div class="faq-athlete__tabs"><section class="c-tabs c-tabs--athlete" aria-multiselectable="false"><ul class="c-tabs__nav c-tabs__nav--n-4" role="tablist"><li class="c-tabs__nav-item is-active" role="presentation"><button role="tab" aria-setsize="3" aria-posinset="1" aria-controls="tab-panel-1" aria-selected="1" tabindex="" class="btn c-tabs__nav-btn">Bio</button></li><li class="c-tabs__nav-item" role="presentation"><button role="tab" aria-setsize="3" aria-posinset="2" aria-controls="tab-panel-2" aria-selected="" tabindex="-1" class="btn c-tabs__nav-btn">Fighter Facts</button></li><li class="c-tabs__nav-item" role="presentation"><button role="tab" aria-setsize="3" aria-posinset="3" aria-controls="tab-panel-3" aria-selected="" tabindex="-1" class="btn c-tabs__nav-btn">UFC History</button></li><li class="c-tabs__nav-item" role="presentation"><button role="tab" aria-setsize="3" aria-posinset="4" aria-controls="tab-panel-4" aria-selected="" tabindex="-1" class="btn c-tabs__nav-btn">Q&amp;A</button></li></ul><div class="c-tabs__mobile-nav"><label for="tab-1470598336">Choose tab:</label><select class="c-tabs__select" id="tab-1470598336"><option value="tab-label-1">Bio</option><option value="tab-label-2">Fighter Facts</option><option value="tab-label-3">UFC History</option><option value="tab-label-4">Q&amp;A</option></select></div><div class="c-tabs__panes"><div class="c-tabs__pane is-current" id="tab-panel-1" role="tabpanel" aria-labelledby="tab-label-1" tabindex="-1"><div class="c-tabs__pane-body"><div class="c-bio c-bio--athlete"><div class="c-bio__content"><div class="c-bio__info"><div class="c-bio__info-details"><div class="c-bio__row--1col"><div class="c-bio__field"><div class="c-bio__label">Status</div><div class="c-bio__text">Active</div></div></div><div class="c-bio__row--2col"><div class="c-bio__field c-bio__field--border-bottom-small-screens"><div class="c-bio__label">Fighting style</div><div class="c-bio__text">Wrestler</div></div></div><div class="c-bio__row--3col"><div class="c-bio__field"><div class="c-bio__label">Age</div><div class="c-bio__text"><div class="field field--name-age field--type-integer field--label-hidden field__item">31</div></div></div><div class="c-bio__field"><div class="c-bio__label">Height</div><div class="c-bio__text">74.00</div></div><div class="c-bio__field"><div class="c-bio__label">Weight</div><div class="c-bio__text">183.00</div></div></div><div class="c-bio__row--3col"><div class="c-bio__field"><div class="c-bio__label">Octagon Debut</div><div class="c-bio__text">Jul. 15, 2020</div></div><div class="c-bio__field"><div class="c-bio__label">Reach</div><div class="c-bio__text">75.00</div></div><div class="c-bio__field"><div class="c-bio__label">Leg reach</div><div class="c-bio__text">40.00</div></div></div></div></div></div></div></div></div><div class="c-tabs__pane" id="tab-panel-2" role="tabpanel" aria-labelledby="tab-label-2" tabindex="-1"><div class="c-tabs__pane-body"><div class="field field--name-qna-facts field--type-text-long field--label-hidden field__item"><ul><li>Pro since 2018<br>&nbsp;</li><li>Six wins by KO, six by submission (Heel hook, 2 DArce choke, 2 RNC, face crank)<br>&nbsp;</li><li>Nine first round finishes<br>&nbsp;</li><li>Origin of nickname: “Means Wolf in Chechen.</li></ul></div></div></div><div class="c-tabs__pane" id="tab-panel-3" role="tabpanel" aria-labelledby="tab-label-3" tabindex="-1"><div class="c-tabs__pane-body"><div class="field field--name-qna-ufc field--type-text-long field--label-hidden field__item"><p><strong>UFC 319</strong>(10/16/25) Chimaev won a five round unanimous decision over Dricus Du Plessis to win the UFC middleweight title</p><p><strong>UFC 308</strong>(10/30/24) Chimaev submitted Robert Whittaker via face crank at 3:34 of the first round</p><p><strong>UFC 294</strong>(10/21/23) Chimaev won a three round majority decision over Kamaru Usman</p><p><strong>UFC 279</strong>(9/10/22) Chimaev submitted Kevin Holland via DArce choke at 2:13 of the first round&nbsp;</p><p><strong>UFC 273</strong>(4/9/22) Chimaev won a three
2024-04-20 15:13:53 -07:00
];
}
}