Failed Conditions
Push — modify-scrutinizeryml ( 361e25...08b4c1 )
by Kentaro
63:54 queued 57:30
created

codeception/acceptance/EF04CustomerCest.php (1 issue)

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
5
/**
6
 * @group front
7
 * @group customer
8
 * @group ef4
9
 */
10
class EF04CustomerCest
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
11
{
12
    public function customer_会員登録正常(\AcceptanceTester $I)
13
    {
14
        $I->wantTo('EF0401-UC01-T01 会員登録 正常パターン');
15
        $I->amOnPage('/entry');
16
        $faker = Fixtures::get('faker');
17
        $BaseInfo = Fixtures::get('baseinfo');
18
        $new_email = microtime(true).'.'.$faker->safeEmail;
19
        // 会員情報入力フォームに、会員情報を入力する
20
        // 「同意する」ボタンを押下する
21
        $form = [
22
            'entry[name][name01]' => '姓',
23
            'entry[name][name02]' => '名',
24
            'entry[kana][kana01]' => 'セイ',
25
            'entry[kana][kana02]' => 'メイ',
26
            'entry[postal_code]' => '530-0001',
27
            'entry[address][pref]' => ['value' => '27'],
28
            'entry[address][addr01]' => '大阪市北区',
29
            'entry[address][addr02]' => '梅田2-4-9 ブリーゼタワー13F',
30
            'entry[phone_number]' => '111-111-111',
31
            'entry[email][first]' => $new_email,
32
            'entry[email][second]' => $new_email,
33
            'entry[password][first]' => 'password',
34
            'entry[password][second]' => 'password',
35
            'entry[job]' => ['value' => '1'],
36
        ];
37
        $findPluginByCode = Fixtures::get('findPluginByCode');
38
        $Plugin = $findPluginByCode('MailMagazine');
39
        if ($Plugin) {
40
            $I->amGoingTo('メルマガプラグインを発見したため、メルマガを購読します');
41
            $form['entry[mailmaga_flg]'] = '1';
42
        }
43
        $I->submitForm(['css' => '.ec-layoutRole__main form'], $form, ['css' => 'button.ec-blockBtn--action']);
44
45
        // 入力した会員情報を確認する。
46
        $I->see('姓 名', '.ec-registerRole form .ec-borderedDefs dl:nth-child(1) dd');
47
        $I->see('111111111', '.ec-registerRole form .ec-borderedDefs dl:nth-child(5) dd');
48
        $I->see($new_email, '.ec-registerRole form .ec-borderedDefs dl:nth-child(6) dd');
49
50
        $I->resetEmails();
51
        // 「会員登録をする」ボタンを押下する
52
        $I->click('.ec-registerRole form button.ec-blockBtn--action');
53
54
        $I->seeEmailCount(2);
55 View Code Duplication
        foreach (array($new_email, $BaseInfo->getEmail01()) as $email) {
56
            $I->seeInLastEmailSubjectTo($email, '会員登録のご確認');
57
            $I->seeInLastEmailTo($email, '姓 名 様');
58
            $I->seeInLastEmailTo($email, 'この度は会員登録依頼をいただきまして、有り難うございます。');
59
        }
60
61
        // 「トップページへ」ボタンを押下する
62
        $I->click('a.ec-blockBtn--cancel');
63
        $I->see('新着情報', '.ec-news__title');
64
65
66
        // アクティベートURL取得
67
        $activateUrl = $I->grabFromLastEmailTo($new_email, '@/entry/activate/(.*)@');
68
        $I->resetEmails();
69
70
        // アクティベートURLからトップページへ
71
        $I->amOnPage($activateUrl);
72
        $I->see('新規会員登録(完了)', 'div.ec-pageHeader h1');
73
74
        $I->seeEmailCount(2);
75 View Code Duplication
        foreach (array($new_email, $BaseInfo->getEmail01()) as $email) {
76
            $I->seeInLastEmailSubjectTo($email, '会員登録が完了しました。');
77
            $I->seeInLastEmailTo($email, '姓 名 様');
78
            $I->seeInLastEmailTo($email, '本会員登録が完了いたしました。');
79
        }
80
81
        $I->click('div.ec-registerCompleteRole a.ec-blockBtn--cancel');
82
        $I->see('新着情報', '.ec-news__title');
83
    }
84
85
    public function customer_会員登録異常1(\AcceptanceTester $I)
86
    {
87
        $I->wantTo('EF0401-UC01-T02 会員登録 異常パターン 重複');
88
        $I->amOnPage('/entry');
89
90
        $createCustomer = Fixtures::get('createCustomer');
91
        $customer = $createCustomer();
92
93
        // 会員情報入力フォームに、会員情報を入力する
94
        // 「同意する」ボタンを押下する
95
        $I->submitForm(['css' => '.ec-layoutRole__main form'], [
96
            'entry[name][name01]' => '姓',
97
            'entry[name][name02]' => '名',
98
            'entry[kana][kana01]' => 'セイ',
99
            'entry[kana][kana02]' => 'メイ',
100
            'entry[postal_code]' => '530-0001',
101
            'entry[address][pref]' => ['value' => '27'],
102
            'entry[address][addr01]' => '大阪市北区',
103
            'entry[address][addr02]' => '梅田2-4-9 ブリーゼタワー13F',
104
            'entry[phone_number]' => '111-111-111',
105
            'entry[email][first]' => $customer->getEmail(), // 会員登録済みのメールアドレスを入力する
106
            'entry[email][second]' => $customer->getEmail(),
107
            'entry[password][first]' => 'password',
108
            'entry[password][second]' => 'password',
109
        ], ['css' => 'button.ec-blockBtn--action']);
110
111
        // 入力した会員情報を確認する。
112
        $I->see('既に利用されているメールアドレスです', '.ec-registerRole form .ec-borderedDefs dl:nth-child(6) dd');
113
    }
114
115
    public function customer_会員登録異常2(\AcceptanceTester $I)
116
    {
117
        $I->wantTo('EF0401-UC01-T03 会員登録 異常パターン 入力ミス');
118
        $I->amOnPage('/entry');
119
120
        $faker = Fixtures::get('faker');
121
        $new_email = microtime(true).'.'.$faker->safeEmail;
122
123
        // 会員情報入力フォームに、会員情報を入力する
124
        // 「同意する」ボタンを押下する
125
        $I->submitForm(['css' => '.ec-layoutRole__main form'], [
126
            'entry[name][name01]' => '',
127
            'entry[name][name02]' => '名',
128
            'entry[kana][kana01]' => 'セイ',
129
            'entry[kana][kana02]' => 'メイ',
130
            'entry[postal_code]' => '530-0001',
131
            'entry[address][pref]' => ['value' => '27'],
132
            'entry[address][addr01]' => '大阪市北区',
133
            'entry[address][addr02]' => '梅田2-4-9 ブリーゼタワー13F',
134
            'entry[phone_number]' => '111-111-111',
135
            'entry[email][first]' => $new_email,
136
            'entry[email][second]' => $new_email,
137
            'entry[password][first]' => 'password',
138
            'entry[password][second]' => 'password',
139
        ], ['css' => 'button.ec-blockBtn--action']);
140
141
        // 入力した会員情報を確認する。
142
        $I->see('新規会員登録', '.ec-pageHeader h1');
143
144
        // TODO [fixture] 確認画面のあとでのメールアドレス重複エラー
145
    }
146
147
    public function customer_会員登録同意しない(\AcceptanceTester $I)
148
    {
149
        $I->wantTo('EF0401-UC01-T04 会員登録 同意しないボタン');
150
        $I->amOnPage('/entry');
151
152
        $I->click('.ec-layoutRole__main form a.ec-blockBtn--cancel');
153
        $I->see('新着情報', '.ec-news__title');
154
    }
155
156
    public function customer_会員登録戻る(\AcceptanceTester $I)
157
    {
158
        $I->wantTo('EF0401-UC01-T05 会員登録 戻るボタン');
159
        $I->amOnPage('/entry');
160
161
        $faker = Fixtures::get('faker');
162
        $new_email = microtime(true).'.'.$faker->safeEmail;
163
164
        // 会員情報入力フォームに、会員情報を入力する
165
        // 「同意する」ボタンを押下する
166
        $form = [
167
            'entry[name][name01]' => '姓',
168
            'entry[name][name02]' => '名',
169
            'entry[kana][kana01]' => 'セイ',
170
            'entry[kana][kana02]' => 'メイ',
171
            'entry[postal_code]' => '530-0001',
172
            'entry[address][pref]' => ['value' => '27'],
173
            'entry[address][addr01]' => '大阪市北区',
174
            'entry[address][addr02]' => '梅田2-4-9 ブリーゼタワー13F',
175
            'entry[phone_number]' => '111-111-111',
176
            'entry[email][first]' => $new_email,
177
            'entry[email][second]' => $new_email,
178
            'entry[password][first]' => 'password',
179
            'entry[password][second]' => 'password',
180
            'entry[job]' => ['value' => '1'],
181
        ];
182
183
        $findPluginByCode = Fixtures::get('findPluginByCode');
184
        $Plugin = $findPluginByCode('MailMagazine');
185
        if ($Plugin) {
186
            $I->amGoingTo('メルマガプラグインを発見したため、メルマガを購読します');
187
            $form['entry[mailmaga_flg]'] = '1';
188
        }
189
        $I->submitForm(['css' => '.ec-layoutRole__main form'], $form, ['css' => 'button.ec-blockBtn--action']);
190
191
        $I->click('.ec-registerRole form button.ec-blockBtn--cancel');
192
        $I->see('新規会員登録', '.ec-pageHeader h1');
193
    }
194
195
    public function customer_会員登録利用規約(\AcceptanceTester $I)
196
    {
197
        $I->wantTo('EF0404-UC01-T01 会員登録 利用規約');
198
        $I->amOnPage('/entry');
199
200
        $I->click('.ec-registerRole form a.ec-link');
201
202
        $I->switchToNewWindow();
203
        $I->seeInCurrentUrl('/help/agreement');
204
    }
205
}
206