You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-panel/t/controller_reseller_selenium.t

65 lines
2.4 KiB

use Sipwise::Base;
use lib 't/lib';
use Test::More import => [qw(done_testing is ok)];
use Test::WebDriver::Sipwise qw();
#my $sel = Test::WWW::Selenium::Catalyst->start({default_names => 1});
my $d = Test::WebDriver::Sipwise->new;
$d->get_ok($ENV{CATALYST_SERVER} || 'http://localhost:3000');
$d->set_implicit_wait_timeout(1000);
#$sel->is_text_present_ok('Subscriber Sign In');
$d->findclick_ok(link_text => 'Admin');
#$sel->type_ok('username', 'administrator');
#$sel->type_ok('password', 'administrator');
$d->find(name => 'username')->send_keys('administrator');
$d->find(name => 'password')->send_keys('administrator');
$d->findclick_ok(name => 'submit');
#$sel->wait_for_page_to_load_ok(2000);
$d->text_is('//title', 'Dashboard');
$d->findclick_ok(xpath => '//a[@class="btn" and @href="/reseller"]');
my $searchfield = $d->find(css => '#Reseller_table_filter label input');
ok($searchfield);
$searchfield->send_keys('donotfindme');
my $elem = $d->find(css => '#Reseller_table td.dataTables_empty');
ok($elem);
is($elem->get_text,'No matching records found');
$searchfield->clear();
$searchfield->send_keys('1');
$d->find_ok(css => '#Reseller_table tr.sw_action_row');
is($d->find(css => '#Reseller_table tr:nth-of-type(1) > td:nth-of-type(1)')->get_text,'1');
#the rest is not yet ported to webdriver:
$d->findclick_ok(link_text => 'Create Reseller');
$d->findclick_ok(id => 'save');
$d->findtext_ok("Contract field is required");
$d->findtext_ok("Name field is required");
$d->findtext_ok("Status field is required");
$d->findclick_ok(id => 'mod_close');
#workaround to make the button visible
$d->execute_script('$(".sw_actions").removeAttr("style").delay(500);');
$d->execute_script('$(".sw_actions").attr("style", "display:block")');
$d->findclick_ok(xpath => '//*[@id="Reseller_table"]/tbody/tr[1]//a[contains(text(),"Edit")]');
is($d->find(id => "name")->get_attribute("value"), "reseller 1");
$d->findclick_ok(id => 'mod_close');
#same workaround
$d->execute_script('$(".sw_actions").removeAttr("style").delay(500);');
$d->execute_script('$(".sw_actions").attr("style", "display:block")');
$d->findclick_ok(xpath => '//*[@id="Reseller_table"]/tbody/tr[1]//a[contains(@class,"btn-secondary")]');
$d->findtext_ok("Are you sure?");
$d->findclick_ok(xpath => '//div[@id="dataConfirmModal"]//a[contains(text(),"Delete")]');
is($d->find(css => 'div.alert-info')->get_text, 'Reseller delete not implemented!');
done_testing;
# vim: filetype=perl