Failed Conditions
Pull Request — experimental/sf (#3373)
by
unknown
134:13 queued 124:29
created

codeception/acceptance/EA09ShippingCest.php (2 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
use Codeception\Util\Fixtures;
4
use Eccube\Entity\Customer;
5
use Eccube\Entity\Order;
6
use Page\Admin\OrderEditPage;
7
use Page\Admin\OrderManagePage;
8
use Page\Admin\ShippingCsvUploadPage;
9
use Page\Admin\ShippingEditPage;
10
use Page\Admin\ShippingManagePage;
11
12
/**
13
 * @group admin
14
 * @group admin01
15
 * @group shipping
16
 * @group ea9
17
 */
18
class EA09ShippingCest
19
{
20
    public function _before(\AcceptanceTester $I)
21
    {
22
        // すべてのテストケース実施前にログインしておく
23
        // ログイン後は管理アプリのトップページに遷移している
24
        $I->loginAsAdmin();
25
    }
26
27
    public function _after(\AcceptanceTester $I)
28
    {
29
    }
30
31
    public function shipping出荷編集(\AcceptanceTester $I)
32
    {
33
        $I->wantTo('EA0901-UC03-T01(& UC03-T02) 出荷編集');
34
35
        // $I->getScenario()->skip('お届け日を編集時にJSが走らない問題がありskip');
36
37
        $I->resetEmails();
38
39
        // 新規受付ステータスの受注を作る
40
        $createCustomer = Fixtures::get('createCustomer');
41
        $createOrders = Fixtures::get('createOrders');
42
        $newOrders = $createOrders($createCustomer(), 1, array());
43
44
        $OrderListPage = OrderManagePage::go($I)->検索($newOrders[0]->getOrderNo());
45
46
        $I->see('検索結果:1件が該当しました', OrderManagePage::$検索結果_メッセージ);
47
48
        /* 編集 */
49
        $OrderListPage->一覧_編集(1);
50
51
        $OrderRegisterPage = OrderEditPage::at($I)
0 ignored issues
show
$OrderRegisterPage is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
52
            ->お届け先の追加();
53
54
55
        $TargetShippings = Fixtures::get('findShippings'); // Closure
56
        $Shippings = $TargetShippings();
0 ignored issues
show
$Shippings is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
57
58
        $ShippingRegisterPage = ShippingEditPage::at($I)
59
            // ->お届け先編集()
60
            ->入力_姓('')
61
            ->出荷情報登録();
62
63
        /* 異常系 */
64
        // FIXME お届け先編集が閉じてしまうため、エラーメッセージが表示されない
65
        $I->see('入力されていません。', ShippingEditPage::$姓_エラーメッセージ);
66
67
        /* 正常系 */
68
        $ShippingRegisterPage
69
            // ->お届け先編集()
70
            ->入力_姓('aaa')
71
            ->入力_セイ('アアア')
72
            ->入力_メイ('アアア')
73
            ->入力_郵便番号('060-0000')
74
            ->入力_都道府県(['1' => '北海道'])
75
            ->入力_市区町村名('bbb')
76
            ->入力_番地_ビル名('bbb')
77
            ->入力_電話番号('111-111-111')
78
            ->入力_番地_ビル名('address 2')
79
            ->出荷情報登録();
80
81
        $I->see('出荷情報を登録しました。', ShippingEditPage::$登録完了メッセージ);
82
83
        /* 出荷済みに変更 */
84
        // $ShippingRegisterPage
85
        //     // ->入力_出荷日('2018-09-04')
86
        //     ->出荷情報登録()
87
        //     ->変更を確定();
88
        // $I->wait(1);
89
        // $I->see('出荷情報を登録しました。', ShippingEditPage::$登録完了メッセージ);
90
91
        // $I->wait(3);
92
        // $I->seeEmailCount(2);
93
    }
94
95
96
    public function shipping_出荷CSV登録(\AcceptanceTester $I)
97
    {
98
        $I->wantTo('EA0903-UC04-T01 出荷CSV登録');
99
100
        /* @var Customer $Customer */
101
        $Customer = (Fixtures::get('createCustomer'))();
102
        /* @var Order[] $Orders */
103
        $Orders = (Fixtures::get('createOrders'))($Customer, 3);
104
105
        /*
106
         * 出荷再検索 出荷日/伝票番号が登録されていないことを確認
107
         */
108
109
        $ShippingManagePage = ShippingManagePage::go($I)
110
            ->詳細検索設定()
111
            ->入力_ご注文者お名前($Customer->getName01().$Customer->getName02())
112
            ->入力_ご注文者お名前フリガナ($Customer->getKana01().$Customer->getKana02())
113
            ->検索();
114
115
        $I->see('検索結果 : 3 件が該当しました', ShippingManagePage::$検索結果_メッセージ);
116
117
        $I->assertEquals('未登録', $ShippingManagePage->取得_出荷伝票番号(1));
118
        $I->assertEquals('未登録', $ShippingManagePage->取得_出荷伝票番号(2));
119
        $I->assertEquals('未登録', $ShippingManagePage->取得_出荷伝票番号(3));
120
        $I->assertEquals('-', $ShippingManagePage->取得_出荷日(1));
121
        $I->assertEquals('-', $ShippingManagePage->取得_出荷日(2));
122
        $I->assertEquals('-', $ShippingManagePage->取得_出荷日(3));
123
124
        /*
125
         * 出荷CSV登録
126
         */
127
128
        $csv = implode(PHP_EOL, [
129
            '出荷ID,出荷伝票番号,出荷日',
130
            $Orders[0]->getShippings()[0]->getId().',00001,2018-01-01',
131
            $Orders[1]->getShippings()[0]->getId().',00002,2018-02-02',
132
            $Orders[2]->getShippings()[0]->getId().',00003,2018-03-03',
133
        ]);
134
135
        $csvFileName = codecept_data_dir().'/shipping.csv';
136
        file_put_contents($csvFileName, $csv);
137
138
        try {
139
140
            ShippingCsvUploadPage::go($I)
141
                ->入力_CSVファイル('shipping.csv')
142
                ->CSVアップロード();
143
144
            $I->see('出荷登録CSVファイルをアップロードしました。', ShippingCsvUploadPage::$完了メッセージ);
145
146
            /*
147
             * 出荷再検索 出荷日/伝票番号が登録されたことを確認
148
             */
149
150
            $ShippingManagePage = ShippingManagePage::go($I)
151
                ->詳細検索設定()
152
                ->入力_ご注文者お名前($Customer->getName01().$Customer->getName02())
153
                ->入力_ご注文者お名前フリガナ($Customer->getKana01().$Customer->getKana02())
154
                ->検索();
155
156
            $I->see('検索結果 : 3 件が該当しました', ShippingManagePage::$検索結果_メッセージ);
157
158
            $I->assertEquals('00003', $ShippingManagePage->取得_出荷伝票番号(1));
159
            $I->assertEquals('00002', $ShippingManagePage->取得_出荷伝票番号(2));
160
            $I->assertEquals('00001', $ShippingManagePage->取得_出荷伝票番号(3));
161
            $I->assertEquals('2018/03/03', $ShippingManagePage->取得_出荷日(1));
162
            $I->assertEquals('2018/02/02', $ShippingManagePage->取得_出荷日(2));
163
            $I->assertEquals('2018/01/01', $ShippingManagePage->取得_出荷日(3));
164
165
        } finally {
166
            if (file_exists($csvFileName)) {
167
                unlink($csvFileName);
168
            }
169
        }
170
    }
171
172 View Code Duplication
    public function shipping_出荷CSV雛形ファイルダウンロード(\AcceptanceTester $I)
173
    {
174
        $I->wantTo('EA0093-UC04-T02 出荷CSV雛形ファイルのダウンロード');
175
176
        ShippingCsvUploadPage::go($I)->雛形ダウンロード();
177
        $csv = $I->getLastDownloadFile('/^shipping\.csv$/');
178
        $I->assertEquals(mb_convert_encoding(file_get_contents($csv), 'UTF-8', 'Shift_JIS'), '出荷ID,出荷伝票番号,出荷日'.PHP_EOL);
179
    }
180
}
181