public function DeleteButton(CallbacksTester $I) { //Удаление одного колбека с помощью кнопки удаления напротив этого колбека $I->amOnPage('/admin/components/run/shop/callbacks'); $rowMax = 14; $kil1 = $I->grabTextFrom('.//*[@id="totalCallbacks"]'); $I->comment($kil1); $kil = substr($kil1, 39, 41); $I->comment($kil); //Количество всех колбеков в списке $j = 1; $id = $I->grabTextFrom(".//*[@id='callbacks_all']/table/tbody/tr[{$j}]/td[2]"); //id удалённого колбека $I->click(CallbacksPage::DeleteButtonLine($j)); // $I->seeElement('.alert.in.fade.alert-success'); // $I->see('Обратный звонок удалён'); //$I->waitForElementNotVisible('.alert.in.fade.alert-success'); $kil--; //Количество всех колбеков после удаления $I->comment((string) $kil); $I->wait('2'); $rows = $I->grabClassCount($I, "btn btn-small btn-danger my_btn_s"); //Количество строк на странице $I->comment((string) $rows); if ($kil <= $rows) { //Если только одна страница в списке колбеков for ($j = 1; $j <= $rows; $j++) { $noId = $I->grabTextFrom("//*[@id='callbacks_all']/table/tbody/tr[{$j}]/td[2]"); $I->comment("{$noId}"); //Считывает id колбеков на странице по строчкам if ($noId == $id) { $I->fail("NOT DELETED"); //Если считается id удалённого колбека, то тест провален break; } //$j++; } $I->assertEquals($kil, $rows); //Проверка правельности отображения количества колбеков в списке } else { //При наличие пагинации в списке $pagAll = ceil($kil / $rowMax); //Количество страниц в списке $j = 1; $pag = 2; //Номер страницы for ($j = 1; $j <= $rowMax; $j++) { //Для первой страницы $noId = $I->grabTextFrom("//*[@id='callbacks_all']/table/tbody/tr[{$j}]/td[2]"); $I->comment("{$noId}"); if ($noId == $id) { $I->fail("NOT DELETED"); break; } } while ($pag <= $pagAll) { //Для остальных страниц начиная со второй $I->click(CallbacksPage::PaginationButton($pag)); //Переход на следующую страницу $I->wait('2'); $rowPag = $I->grabClassCount($I, "btn btn-small btn-danger my_btn_s"); //Количество строк на странице $I->comment((string) $rowPag); for ($j = 1; $j <= $rowPag; $j++) { $noId = $I->grabTextFrom("//*[@id='callbacks_all']/table/tbody/tr[{$j}]/td[2]"); $I->comment("{$noId}"); if ($noId == $id) { $I->fail("NOT DELETED"); break; } } $pag++; if ($pag == 3 & $pag <= $pagAll) { //При переходе на вторую страницу она становится третьей по счёту из-за появления кнопки "Предыдущая страница" $pag++; //Надо увеличить значение на 1, чтобы перейти на следующую страницу $pagAll++; //Надо увеличить значение количества страниц на 1 для правильной работы цикла $I->comment("Pag is added {$pag}"); } } if ($pag == 3 & $pag > $pagAll) { $pagAll--; $I->assertEquals($kil, "{$rowMax}" * "{$pagAll}" + "{$rowPag}"); //Проверка правильности отображения количества колбеков всписке при 2 страницах пагинации } else { $pagAll = $pagAll - 2; $I->assertEquals($kil, "{$rowMax}" * "{$pagAll}" + "{$rowPag}"); //Проверка правильности отображения количества колбеков всписке при пагинации } } InitTest::ClearAllCach($I); }