forked from magento/magento2-functional-testing-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExtendedGenerationTest.php
132 lines (119 loc) · 4.14 KB
/
ExtendedGenerationTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace tests\verification\Tests;
use Magento\FunctionalTestingFramework\Test\Handlers\TestObjectHandler;
use Magento\FunctionalTestingFramework\Util\TestGenerator;
use tests\util\MftfTestCase;
class ExtendedGenerationTest extends MftfTestCase
{
/**
* Tests flat generation of a test that is referenced by another test
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedParentTestGeneration()
{
$this->generateAndCompareTest('ParentExtendedTest');
}
/**
* Tests generation of test that extends based on another test when replacing actions
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationReplaceStepKey()
{
$this->generateAndCompareTest('ChildExtendedTestReplace');
}
/**
* Tests generation of test that extends based on another test when replacing actions in hooks
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationReplaceHook()
{
$this->generateAndCompareTest('ChildExtendedTestReplaceHook');
}
/**
* Tests generation of test that extends based on another test when merging actions
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationMergeActions()
{
$this->generateAndCompareTest('ChildExtendedTestMerging');
}
/**
* Tests generation of test that extends based on another test when adding hooks
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationAddHooks()
{
$this->generateAndCompareTest('ChildExtendedTestAddHooks');
}
/**
* Tests generation of test that extends based on another test when removing an action
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationRemoveAction()
{
$this->generateAndCompareTest('ChildExtendedTestRemoveAction');
}
/**
* Tests generation of test that extends based on another test when removing an action
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationRemoveHookAction()
{
$this->generateAndCompareTest('ChildExtendedTestRemoveHookAction');
}
/**
* Tests to ensure extended tests with no parents are not generated
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendedTestGenerationNoParent()
{
$testObject = TestObjectHandler::getInstance()->getObject('ChildExtendedTestNoParent');
$test = TestGenerator::getInstance(null, [$testObject]);
$test->createAllTestFiles();
$cestFile = $test->getExportDir() .
DIRECTORY_SEPARATOR .
$testObject->getCodeceptionName() .
".php";
$this->assertFalse(file_exists($cestFile));
}
/**
* Tests extending a skipped test generation.
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendingSkippedGeneration()
{
$this->generateAndCompareTest('ExtendingSkippedTest');
}
/**
* Tests extending and removing parent steps test generation.
*
* @throws \Exception
* @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException
*/
public function testExtendingAndRemovingStepsGeneration()
{
$this->generateAndCompareTest('ExtendedChildTestNotInSuite');
}
}