TT#56376 selenium: add delete_reseller() and delete_reseller_contract()

Common.pm:
- delete_reseller() will delete our newly created reseller.
- delete_reseller_contract() will do the same for the contract.

controller_reseller.t:
- added both new functions.
- check if reseller is actually deleted.
- check if contract is actually deleted.

Change-Id: Ic24ca53b76264f5e91e8030f47930abcc46dc11c
changes/40/29140/5
Nico Schedel 7 years ago
parent d10aa91bd2
commit a2798fd09f

@ -47,6 +47,7 @@ sub delete_domain {
sub create_reseller {
my ($self, $name, $resellerid) = @_;
return unless $name && $resellerid;
diag('Go to reseller page');
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Resellers', 'link_text')->click();
@ -65,6 +66,7 @@ sub create_reseller {
sub create_reseller_contract {
my ($self, $resellerid) = @_;
return unless $resellerid;
diag('Go to Reseller and Peering Contracts page');
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Reseller and Peering Contracts', 'link_text')->click();
@ -90,4 +92,41 @@ sub create_reseller_contract {
$self->driver->fill_element('//*[@id="external_id"]', 'xpath', $resellerid);
$self->driver->find_element('//*[@id="save"]')->click();
}
1;
sub delete_reseller {
my ($self, $name) = @_;
return unless $name;
diag('Go to reseller page');
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Resellers', 'link_text')->click();
diag('Try to delete a reseller');
$self->driver->fill_element('//*[@id="Resellers_table_filter"]/label/input', 'xpath', 'thisshouldnotexist');
ok($self->driver->find_element_by_css('#Resellers_table tr > td.dataTables_empty'), 'Garbage text was not found');
$self->driver->fill_element('//*[@id="Resellers_table_filter"]/label/input', 'xpath', $name);
ok($self->driver->wait_for_text('//*[@id="Resellers_table"]/tbody/tr[1]/td[3]', $name), 'Entry found');
$self->driver->move_action(element => $self->driver->find_element('//*[@id="Resellers_table"]/tbody/tr[1]/td[3]'));
$self->driver->find_element('//*[@id="Resellers_table"]/tbody/tr[1]/td[5]/div/a[2]')->click();
$self->driver->find_element('//*[@id="dataConfirmOK"]')->click();
}
sub delete_reseller_contract {
my ($self, $resellerid) = @_;
return unless $resellerid;
diag('Go to Reseller and Peering Contracts page');
$self->driver->find_element('//*[@id="main-nav"]//*[contains(text(),"Settings")]')->click();
$self->driver->find_element('Reseller and Peering Contracts', 'link_text')->click();
diag('Try to delete a reseller contract');
$self->driver->fill_element('//*[@id="contract_table_filter"]/label/input', 'xpath', 'thisshouldnotexist');
ok($self->driver->find_element_by_css('#contract_table tr > td.dataTables_empty'), 'Garbage text was not found');
$self->driver->fill_element('//*[@id="contract_table_filter"]/label/input', 'xpath', $resellerid);
ok($self->driver->wait_for_text('//*[@id="contract_table"]/tbody/tr/td[2]', $resellerid), 'Entry found');
$self->driver->move_action(element => $self->driver->find_element('//*[@id="contract_table"]/tbody/tr[1]/td[3]'));
$self->driver->find_element('//*[@id="contract_table"]/tbody/tr[1]/td[7]/div/a[2]')->click();
$self->driver->find_element('//*[@id="dataConfirmOK"]')->click();
}
1;

@ -56,16 +56,13 @@ $btn->click();
#is($d->find_element("name", id)->get_attribute("value"), "reseller 1");
$d->find_element('#mod_close', 'css')->click();
diag("Click Terminate on the first reseller shown");
sleep 1; #prevent a StaleElementReferenceException
$row = $d->find_element('//*[@id="Resellers_table"]/tbody/tr[1]');
ok($row);
$d->move_action(element => $row,xoffset=>1); # 1 because if the mouse doesn't move, the buttons don't appear
$btn = $d->find_child_element($row, './/a[contains(@class,"btn-secondary")]');
ok($btn);
$btn->click();
ok($d->find_text("Are you sure?"), 'Delete dialog appears');
$d->find_element('//div[@id="dataConfirmModal"]//button[contains(text(),"Cancel")]')->click();
$c->delete_reseller_contract($contractid);
$d->fill_element('//*[@id="contract_table_filter"]/label/input', 'xpath', $contractid);
ok($d->find_element_by_css('#contract_table tr > td.dataTables_empty'), 'Reseller contract was not found');
$c->delete_reseller($resellername);
$d->fill_element('//*[@id="Resellers_table_filter"]/label/input', 'xpath', $resellername);
ok($d->find_element_by_css('#Resellers_table tr > td.dataTables_empty'), 'Reseller was not found');
done_testing;
# vim: filetype=perl

Loading…
Cancel
Save