Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

売上集計のE2Eテストでグラフの表示されないケースに対応 #402

Merged
merged 1 commit into from
Jun 22, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
257 changes: 183 additions & 74 deletions ctests/acceptance/admin/total/AdminTotalCept.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,54 +31,91 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
}

$I->amGoingTo('売上集計>期間別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
}

$I->amGoingTo('売上集計>期間別集計>期間集計>月別');
$I->click('月別');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
}

$I->amGoingTo('売上集計>期間別集計>期間集計>年別');
$I->click('年別');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
}


$I->amGoingTo('売上集計>期間別集計>期間集計>曜日別');
$I->click('曜日別');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);
}

$I->amGoingTo('売上集計>期間別集計>期間集計>時間別');
$I->click('時間別');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-term']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
}

$I->amGoingTo('売上集計>商品別集計');
$I->amOnPage('/admin/total/?page=products');
Expand All @@ -99,38 +136,62 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);
}

$I->amGoingTo('売上集計>商品集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);
}

$I->amGoingTo('売上集計>商品集計>期間集計>会員');
$I->click('会員');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);
}

$I->amGoingTo('売上集計>商品集計>期間集計>非会員');
$I->click('非会員');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-products']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
}

$I->amGoingTo('売上集計>年代別集計');
$I->amOnPage('/admin/total/?page=age');
Expand All @@ -151,38 +212,62 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);
}

$I->amGoingTo('売上集計>年代別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);
}

$I->amGoingTo('売上集計>年代別集計>期間集計>会員');
$I->click('会員');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);
}

$I->amGoingTo('売上集計>年代別集計>期間集計>非会員');
$I->click('非会員');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-age']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
}

$I->amGoingTo('売上集計>職業別集計');
$I->amOnPage('/admin/total/?page=job');
Expand All @@ -203,22 +288,34 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-job']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-job']);
}

$I->amGoingTo('売上集計>職業別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-job']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-job']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
}

$I->amGoingTo('売上集計>会員別集計');
$I->amOnPage('/admin/total/?page=member');
Expand All @@ -239,19 +336,31 @@
$I->click('月度で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-member']);
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-member']);
}

$I->amGoingTo('売上集計会員別集計>期間集計');
$I->selectOption('select[name=search_startyear]', date('Y', strtotime('-1 year')));
$I->click('期間で集計する');

$I->expect('グラフの表示を確認する');
$I->waitForElement(['css' => '#graph-image > img']);
$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-member']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
$message = $I->grabPageSource();
if (strpos('該当するデータはありません。', $message) !== false) {
$I->see('該当するデータはありません。', ['css' => '.message']);
} else {
$I->waitForElement(['css' => '#graph-image > img']);

$I->expect('表の表示を確認する');
$I->waitForElement(['id' => 'total-member']);

$I->click('CSVダウンロード');
$file = $I->getLastDownloadFile('/^total\d{12}\.csv$/');
$I->assertTrue(count(file($file)) >= 2, '2行以上のファイルがダウンロードされている');
}