Commit 96760f0e authored by Dainis Abols's avatar Dainis Abols
Browse files

Naba tests (live and store)

parent 672b1b4d
<?php
declare(strict_types=1);
namespace Lu\LuApi\Functional;
use GuzzleHttp\Client as Guzzle;
use GuzzleHttp\Exception\GuzzleException;
use Lu\LuApi\Helpers\DataHelper;
use Vendor\MyExtension\Service\AbstractSomethingService;
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
/**
* Test for route `?r=naba-live`
*
* @author Dainis Abols <dainis.abols@lu.lv>
* @owner University of Latvia
* @since 22.02.2022
*/
class NabaLiveTest extends UnitTestCase
{
protected $resetSingletonInstances = true;
/**
* Public API URL
*
* @var string
*/
private string $url = 'https://www.lu.lv/api/?r=naba-live/search';
/**
* NABA Live test
*
* @test
*/
public function nabaLiveTest()
{
// Read url
$url = $this->url;
$result = (new DataHelper())->fetchUrl($url);
// Assert url read
$code = !empty($result) ? $result->getStatusCode() : 500;
$this->assertEquals(200, $code, 'NABA Live Url read failed');
// Assert json return
$content = @$result->getBody()->getContents();
$this->assertJson($content, 'NABA Live Url response is not JSON');
// Check top level structure
$content = json_decode($content, true);
$this->assertTrue(count($content) === 2, 'NABA Live structure count does not match');
$structure = function ($c) {
return isset($c['programme']) && isset($c['songString']);
};
$this->assertTrue($structure($content), 'Naba Live structure does not match');
}
}
\ No newline at end of file
<?php
declare(strict_types=1);
namespace Lu\LuApi\Functional;
use GuzzleHttp\Client as Guzzle;
use GuzzleHttp\Exception\GuzzleException;
use Lu\LuApi\Helpers\DataHelper;
use Vendor\MyExtension\Service\AbstractSomethingService;
use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
/**
* Test for route `?r=naba-store`
*
* @author Dainis Abols <dainis.abols@lu.lv>
* @owner University of Latvia
* @since 22.02.2022
*/
class NabaStoreTest extends UnitTestCase
{
protected $resetSingletonInstances = true;
/**
* Public API URL
*
* @var string
*/
private string $url = 'https://www.lu.lv/api/?r=naba-store';
/**
* NABA Store test
*
* @test
*/
public function nabaStoreTest()
{
// Read url
$url = $this->url;
$result = (new DataHelper())->fetchUrl($url);
// Assert url read
$code = !empty($result) ? $result->getStatusCode() : 500;
$this->assertEquals(200, $code, 'NABA Store Url read failed');
// Assert json return
$content = @$result->getBody()->getContents();
$this->assertJson($content, 'NABA Live Store response is not JSON');
// Check top level structure
$content = json_decode($content, true);
$this->assertTrue($content['success'] === true, 'NABA Store invalid response');
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment