Completed
Push — master ( 3ac182...d71655 )
by Wilmer
13:12 queued 09:23
created

MinJsCest::testNpmBrandAssetSimpleDependency()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 13
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
namespace terabytesoft\assets\fontawesome\tests;
4
5
use terabytesoft\assets\FontAwesome\tests\UnitTester;
6
use terabytesoft\assets\fontawesome\min\js\NpmAllAsset;
7
use terabytesoft\assets\fontawesome\min\js\NpmBrandAsset;
8
use terabytesoft\assets\fontawesome\min\js\NpmFontAwesomeAsset;
9
use terabytesoft\assets\fontawesome\min\js\NpmRegularAsset;
10
use terabytesoft\assets\fontawesome\min\js\NpmSolidAsset;
11
use yii\web\AssetBundle;
12
use yii\web\View;
13
14
/**
15
 * Class MinJsCest
16
 *
17
 * Unit tests for codeception prod fontawesome js
18
 */
19
class MinJsCest
20
{
21
    /**
22
     * @var \yii\web\View;
23
     */
24
    private $view;
25
26
    /**
27
     *  _before
28
     *
29
     * @param UnitTester $I
30
     */
31
    public function _before(UnitTester $I): void
0 ignored issues
show
Unused Code introduced by
The parameter $I is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

31
    public function _before(/** @scrutinizer ignore-unused */ UnitTester $I): void

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
32
    {
33
        $this->view = new View();
34
    }
35
36
    /**
37
     * _after
38
     *
39
     * @param UnitTester $I
40
     */
41
    public function _after(UnitTester $I): void
42
    {
43
        unset($this->view);
44
        $I->clearDirectory(\Yii::getAlias('@public/assets'));
45
    }
46
47
    /**
48
     * testNpmAllAssetRegister
49
     *
50
     * @param UnitTester $I
51
     */
52
    public function testNpmAllAssetRegister(UnitTester $I): void
53
    {
54
        $I->assertEmpty($this->view->assetBundles);
55
56
        NpmAllAsset::register($this->view);
57
58
        $I->assertCount(1, $this->view->assetBundles);
59
60
        $I->assertArrayHasKey(NpmAllAsset::class, $this->view->assetBundles);
61
62
        $result = $this->view->renderFile(codecept_data_dir() . 'main.php');
63
64
        $I->assertRegexp('/all.min.js/', $result);
65
    }
66
67
    /**
68
     * testNpmBrandAssetRegister
69
     *
70
     * @param UnitTester $I
71
     */
72
    public function testNpmBrandAssetRegister(UnitTester $I): void
73
    {
74
        $I->assertEmpty($this->view->assetBundles);
75
76
        NpmBrandAsset::register($this->view);
77
78
        $I->assertCount(2, $this->view->assetBundles);
79
80
        $I->assertArrayHasKey(NpmBrandAsset::class, $this->view->assetBundles);
81
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
82
83
        $result = $this->view->renderFile(codecept_data_dir() . 'main.php');
84
85
        $I->assertRegexp('/brands.min.js/', $result);
86
        $I->assertRegexp('/fontawesome.min.js/', $result);
87
    }
88
89
    /**
90
     * testNpmFontAwesomeAssetRegister
91
     *
92
     * @param UnitTester $I
93
     */
94
    public function testNpmFontAwesomeAssetRegister(UnitTester $I): void
95
    {
96
        $I->assertEmpty($this->view->assetBundles);
97
98
        NpmFontAwesomeAsset::register($this->view);
99
100
        $I->assertCount(1, $this->view->assetBundles);
101
102
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
103
104
        $result = $this->view->renderFile(codecept_data_dir() . 'main.php');
105
106
        $I->assertRegexp('/fontawesome.min.js/', $result);
107
    }
108
109
    /**
110
     * testNpmRegularAssetRegister
111
     *
112
     * @param UnitTester $I
113
     */
114
    public function testNpmRegularAssetRegister(UnitTester $I): void
115
    {
116
        $I->assertEmpty($this->view->assetBundles);
117
118
        NpmRegularAsset::register($this->view);
119
120
        $I->assertCount(2, $this->view->assetBundles);
121
122
        $I->assertArrayHasKey(NpmRegularAsset::class, $this->view->assetBundles);
123
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
124
125
        $result = $this->view->renderFile(codecept_data_dir() . 'main.php');
126
127
        $I->assertRegexp('/regular.min.js/', $result);
128
        $I->assertRegexp('/fontawesome.min.js/', $result);
129
    }
130
131
    /**
132
     * testNpmSolidAssetRegister
133
     *
134
     * @param UnitTester $I
135
     */
136
    public function testNpmSolidAssetRegister(UnitTester $I): void
137
    {
138
        $I->assertEmpty($this->view->assetBundles);
139
140
        NpmSolidAsset::register($this->view);
141
142
        $I->assertCount(2, $this->view->assetBundles);
143
144
        $I->assertArrayHasKey(NpmSolidAsset::class, $this->view->assetBundles);
145
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
146
147
        $result = $this->view->renderFile(codecept_data_dir() . 'main.php');
148
149
        $I->assertRegexp('/solid.min.js/', $result);
150
        $I->assertRegexp('/fontawesome.min.js/', $result);
151
    }
152
153
    /**
154
     * testNpmAllAssetSimpleDependency
155
     *
156
     * @param UnitTester $I
157
     */
158
    public function testNpmAllAssetSimpleDependency(UnitTester $I): void
159
    {
160
        $I->assertEmpty($this->view->assetBundles);
161
162
        NpmAllAsset::register($this->view);
163
164
        $I->assertCount(1, $this->view->assetBundles);
165
166
        $I->assertArrayHasKey(NpmAllAsset::class, $this->view->assetBundles);
167
168
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmAllAsset::class]);
169
    }
170
171
    /**
172
     * testNpmBrandAssetSimpleDependency
173
     *
174
     * @param UnitTester $I
175
     */
176
    public function testNpmBrandAssetSimpleDependency(UnitTester $I): void
177
    {
178
        $I->assertEmpty($this->view->assetBundles);
179
180
        NpmBrandAsset::register($this->view);
181
182
        $I->assertCount(2, $this->view->assetBundles);
183
184
        $I->assertArrayHasKey(NpmBrandAsset::class, $this->view->assetBundles);
185
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
186
187
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmBrandAsset::class]);
188
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmFontAwesomeAsset::class]);
189
    }
190
191
    /**
192
     * testNpmFontAwesomeAssetSimpleDependency
193
     *
194
     * @param UnitTester $I
195
     */
196
    public function testNpmFontAwesomeAssetSimpleDependency(UnitTester $I): void
197
    {
198
        $I->assertEmpty($this->view->assetBundles);
199
200
        NpmFontAwesomeAsset::register($this->view);
201
202
        $I->assertCount(1, $this->view->assetBundles);
203
204
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
205
206
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmFontAwesomeAsset::class]);
207
    }
208
209
    /**
210
     * testNpmRegularAssetSimpleDependency
211
     *
212
     * @param UnitTester $I
213
     */
214
    public function testNpmRegularAssetSimpleDependency(UnitTester $I): void
215
    {
216
        $I->assertEmpty($this->view->assetBundles);
217
218
        NpmRegularAsset::register($this->view);
219
220
        $I->assertCount(2, $this->view->assetBundles);
221
222
        $I->assertArrayHasKey(NpmRegularAsset::class, $this->view->assetBundles);
223
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
224
225
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmRegularAsset::class]);
226
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmFontAwesomeAsset::class]);
227
    }
228
229
    /**
230
     * testNpmSolidAssetSimpleDependency
231
     *
232
     * @param UnitTester $I
233
     */
234
    public function testNpmSolidAssetSimpleDependency(UnitTester $I): void
235
    {
236
        $I->assertEmpty($this->view->assetBundles);
237
238
        NpmSolidAsset::register($this->view);
239
240
        $I->assertCount(2, $this->view->assetBundles);
241
242
        $I->assertArrayHasKey(NpmSolidAsset::class, $this->view->assetBundles);
243
        $I->assertArrayHasKey(NpmFontAwesomeAsset::class, $this->view->assetBundles);
244
245
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmSolidAsset::class]);
246
        $I->assertInstanceOf(AssetBundle::class, $this->view->assetBundles[NpmFontAwesomeAsset::class]);
247
    }
248
249
    /**
250
     * testNpmAllAssetSourcesPublish
251
     *
252
     * @param UnitTester $I
253
     */
254
    public function testNpmAllAssetSourcesPublish(UnitTester $I): void
255
    {
256
        $bundle = NpmAllAsset::register($this->view);
257
258
        $I->assertTrue(is_dir($bundle->basePath));
259
260
        $I->sourcesPublishVerifyFiles('js', $bundle);
261
    }
262
263
    /**
264
     * testNpmBrandAssetSourcesPublish
265
     *
266
     * @param UnitTester $I
267
     */
268
    public function testNpmBrandAssetSourcesPublish(UnitTester $I): void
269
    {
270
        $bundle = NpmBrandAsset::register($this->view);
271
272
        $I->assertTrue(is_dir($bundle->basePath));
273
274
        $I->sourcesPublishVerifyFiles('js', $bundle);
275
    }
276
277
    /**
278
     * testNpmFontAwesomeAssetSourcesPublish
279
     *
280
     * @param UnitTester $I
281
     */
282
    public function testNpmFontAwesomeAssetSourcesPublish(UnitTester $I): void
283
    {
284
        $bundle = NpmFontAwesomeAsset::register($this->view);
285
286
        $I->assertTrue(is_dir($bundle->basePath));
287
288
        $I->sourcesPublishVerifyFiles('js', $bundle);
289
    }
290
291
    /**
292
     * testNpmRegularAssetSourcesPublish
293
     *
294
     * @param UnitTester $I
295
     */
296
    public function testNpmRegularAssetSourcesPublish(UnitTester $I): void
297
    {
298
        $bundle = NpmRegularAsset::register($this->view);
299
300
        $I->assertTrue(is_dir($bundle->basePath));
301
302
        $I->sourcesPublishVerifyFiles('js', $bundle);
303
    }
304
305
    /**
306
     * testNpmSolidAssetSourcesPublish
307
     *
308
     * @param UnitTester $I
309
     */
310
    public function testNpmSolidAssetSourcesPublish(UnitTester $I): void
311
    {
312
        $bundle = NpmSolidAsset::register($this->view);
313
314
        $I->assertTrue(is_dir($bundle->basePath));
315
316
        $I->sourcesPublishVerifyFiles('js', $bundle);
317
    }
318
}
319