|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
use Codeception\Util\Fixtures; |
|
4
|
|
|
use Page\Admin\OrderManagePage; |
|
5
|
|
|
use Page\Admin\TopPage; |
|
6
|
|
|
|
|
7
|
|
|
/** |
|
8
|
|
|
* @group admin |
|
9
|
|
|
* @group admin01 |
|
10
|
|
|
* @group toppage |
|
11
|
|
|
* @group ea1 |
|
12
|
|
|
*/ |
|
13
|
|
|
class EA01TopCest |
|
|
|
|
|
|
14
|
|
|
{ |
|
15
|
|
|
const ページタイトル = '.c-pageTitle h2.c-pageTitle__title'; |
|
16
|
|
|
|
|
17
|
|
|
public function _before(\AcceptanceTester $I) |
|
18
|
|
|
{ |
|
19
|
|
|
// すべてのテストケース実施前にログインしておく |
|
20
|
|
|
// ログイン後は管理アプリのトップページに遷移している |
|
21
|
|
|
$I->loginAsAdmin(); |
|
22
|
|
|
} |
|
23
|
|
|
|
|
24
|
|
|
public function _after(\AcceptanceTester $I) |
|
|
|
|
|
|
25
|
|
|
{ |
|
26
|
|
|
} |
|
27
|
|
|
|
|
28
|
|
|
public function top_001(\AcceptanceTester $I) |
|
29
|
|
|
{ |
|
30
|
|
|
$I->wantTo('EA0101-UC01-T01 TOPページ 初期表示'); |
|
31
|
|
|
|
|
32
|
|
|
// TOP画面に現在の受注状況、お知らせ、売り上げ状況、ショップ状況が表示されている |
|
33
|
|
|
$I->see('新規受付', TopPage::$受付状況_新規受付); |
|
34
|
|
|
$I->see('お知らせ', TopPage::$お知らせ); |
|
35
|
|
|
$I->see('売上状況', TopPage::$売上状況); |
|
36
|
|
|
$I->see('ショップ状況', TopPage::$ショップ状況); |
|
37
|
|
|
|
|
38
|
|
|
// 新規受付をクリックすると受注管理画面に遷移することを確認 |
|
39
|
|
|
$I->click(TopPage::$受付状況_新規受付); |
|
40
|
|
|
$I->see('受注一覧', self::ページタイトル); |
|
41
|
|
|
$I->goToAdminPage(); |
|
42
|
|
|
|
|
43
|
|
|
// 購入された商品が受注管理画面のページにて反映されていることを確認 |
|
44
|
|
|
$config = Fixtures::get('config'); |
|
45
|
|
|
$findOrders = Fixtures::get('findOrders'); |
|
46
|
|
|
$NewOrders = array_filter($findOrders(), function ($Order) use ($config) { |
|
47
|
|
|
return $Order->getOrderStatus()->getId() == \Eccube\Entity\Master\OrderStatus::NEW; |
|
48
|
|
|
}); |
|
49
|
|
|
$I->see(count($NewOrders), TopPage::$受付状況_新規受付数); |
|
50
|
|
|
|
|
51
|
|
|
// FIXME [issue] ソート順が指定されていないのでテストが失敗する |
|
52
|
|
|
// https://github.com/EC-CUBE/ec-cube/issues/1908 |
|
53
|
|
|
// // 入金待ちをクリックすると「受注管理>入金待ち」のページに遷移することを確認 |
|
54
|
|
|
// $I->click(TopPage::$受付状況_入金待ち); |
|
|
|
|
|
|
55
|
|
|
// $I->see('受注一覧', self::ページタイトル); |
|
|
|
|
|
|
56
|
|
|
// $I->seeInField(OrderManagePage::$検索条件_受注ステータス, '2'/*入金待ち*/); |
|
|
|
|
|
|
57
|
|
|
// $I->goToAdminPage(); |
|
|
|
|
|
|
58
|
|
|
// |
|
59
|
|
|
// // 入金済みをクリックすると「受注管理>入金済み」のページに遷移することを確認 |
|
60
|
|
|
// $I->click(TopPage::$受付状況_入金済み); |
|
|
|
|
|
|
61
|
|
|
// $I->see('受注一覧', self::ページタイトル); |
|
|
|
|
|
|
62
|
|
|
// $I->seeInField(OrderManagePage::$検索条件_受注ステータス, '6'/*入金済み*/); |
|
|
|
|
|
|
63
|
|
|
// $I->goToAdminPage(); |
|
|
|
|
|
|
64
|
|
|
// |
|
65
|
|
|
// // 取り寄せ中をクリックすると「受注管理>取り寄せ」のページに遷移することを確認 |
|
66
|
|
|
// $I->click(TopPage::$受付状況_取り寄せ中); |
|
|
|
|
|
|
67
|
|
|
// $I->see('受注一覧', self::ページタイトル); |
|
|
|
|
|
|
68
|
|
|
// $I->seeInField(OrderManagePage::$検索条件_受注ステータス, '4'/*取り寄せ中*/); |
|
|
|
|
|
|
69
|
|
|
// $I->goToAdminPage(); |
|
|
|
|
|
|
70
|
|
|
|
|
71
|
|
|
// お知らせの記事をクリックすると設定されたURLに遷移することを確認 |
|
72
|
|
|
$I->switchToIFrame("information"); |
|
73
|
|
|
$I->click(['css' => '.news_area .link_list .tableish a:nth-child(3)']); |
|
74
|
|
|
$I->switchToNewWindow(); |
|
75
|
|
|
$I->assertRegExp('/^https?:\/\/www.ec-cube.net\/.*$/', $I->executeJS('return location.href'), '公式サイトが開く'); |
|
76
|
|
|
$I->switchToWindow(); |
|
77
|
|
|
|
|
78
|
|
|
// ショップ情報の在庫切れ商品をクリックすると商品管理ページに遷移することを確認 |
|
79
|
|
|
$I->click(TopPage::$ショップ状況_在庫切れ商品); |
|
80
|
|
|
$I->see('商品一覧', self::ページタイトル); |
|
81
|
|
|
$I->goToAdminPage(); |
|
82
|
|
|
|
|
83
|
|
|
// ショップ情報の会員数をクリックすると会員管理に遷移することを確認 |
|
84
|
|
|
$I->click(TopPage::$ショップ状況_会員数); |
|
85
|
|
|
$I->see('会員一覧', self::ページタイトル); |
|
86
|
|
|
} |
|
87
|
|
|
} |
|
88
|
|
|
|
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.