53 lines
1.9 KiB
PHP
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');
|
|
}
|
|
|
|
} |