2024-12-16 17:24:37 +03:00

53 lines
1.9 KiB
PHP

<?php
namespace OCA\Gestion\Tests\Unit\js;
use Symfony\Component\Panther\PantherTestCase;
use Symfony\Component\Panther\Client;
class JsTest extends PantherTestCase {
private $url;
public function setUp(): void{
parent::setUp();
$this->url = "http://127.0.0.1";
}
public function testClient(): void {
$client = Client::createFirefoxClient();
$crawler = $client->request('GET', $this->url.'/index.php/apps/gestion');
$form = $crawler->selectButton('Log in')->form();
$form['user'] = 'nextcloud';
$form['password'] = 'nextcloud';
$client->submit($form);
$client->request('GET', $this->url.'/index.php/apps/gestion');
$client->takeScreenshot('tests/Unit/Panther/screens/index_test_first.png');
//Check page showing
$crawler = $client->waitForVisibility('#newClient');
$this->assertEquals('Add customer',$crawler->filter('#newClient')->text());
//Sorting (this is for the screenshot)
$client->executeScript("document.getElementById('client').childNodes[1].childNodes[1].childNodes[0].click()");
//Init lenght for datatable
$initLenght = $client->executeScript("return document.getElementById('client').rows.length");
//Add client
$client->executeScript("document.getElementById('newClient').click()");
sleep(1); //Waiting XHR
$this->assertTrue($initLenght < $client->executeScript("return document.getElementById('client').rows.length"));
//Delete client
$client->executeScript("document.getElementById('client').rows[1].childNodes[8].childNodes[0].childNodes[0].click()");
$client->getWebDriver()->switchTo()->alert()->accept();
sleep(1);
$this->assertTrue($initLenght == $client->executeScript("return document.getElementById('client').rows.length"));
// $client->takeScreenshot('tests/Unit/Panther/screens/index_test_first.png');
}
}