15
15
16
16
class GenerateTestFailedCommandTest extends BaseGenerateCommandTest
17
17
{
18
- public function testSingleTestNoSuite (): void
18
+ public function testSingleTestWithNoSuite (): void
19
19
{
20
20
$ testFileReturn = [
21
21
"tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest "
@@ -38,4 +38,130 @@ public function testSingleTestNoSuite(): void
38
38
$ configuration = $ stub ->getFailedTestList ("" , "" );
39
39
$ this ->assertEquals ($ expectedConfiguration , $ configuration );
40
40
}
41
+
42
+ public function testMultipleTestsWithSuites (): void
43
+ {
44
+ $ testFileReturn = [
45
+ "tests/functional/tests/MFTF/_generated/SomeSpecificSuite/FirstTestSuiteTest.php:SingleTestSuiteTest " ,
46
+ "tests/functional/tests/MFTF/_generated/SomeSpecificSuite/SecondTestNoSuiteTest.php:SingleTestNoSuiteTest " ,
47
+ "tests/functional/tests/MFTF/_generated/SomeOtherSuite/SecondTestNoSuiteTest.php:SingleTestNoSuiteTest " ,
48
+ ];
49
+ $ expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":["SingleTestSuiteTest",
50
+ "SingleTestNoSuiteTest"],"SomeOtherSuite":["SingleTestNoSuiteTest"]}} ' ;
51
+
52
+ // Create a stub for the SomeClass class.
53
+ $ stub = $ this ->getMockBuilder (GenerateTestFailedCommand::class)
54
+ ->onlyMethods (["readFailedTestFile " , "writeFailedTestToFile " ])
55
+ ->getMock ();
56
+ // Configure the stub.
57
+ $ stub
58
+ ->method ('readFailedTestFile ' )
59
+ ->willReturn ($ testFileReturn );
60
+ $ stub
61
+ ->method ('writeFailedTestToFile ' )
62
+ ->willReturn (null );
63
+
64
+ // Run the real code
65
+ $ configuration = $ stub ->getFailedTestList ("" , "" );
66
+ $ this ->assertEquals ($ expectedConfiguration , $ configuration );
67
+ }
68
+
69
+ public function testMultipleTestFailureWithNoSuites (): void
70
+ {
71
+ $ testFileReturn = [
72
+ "tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest " ,
73
+ "tests/functional/tests/MFTF/_generated/default/FirstTestSuiteTest.php:SingleTestSuiteTest "
74
+ ];
75
+ $ expectedConfiguration = '{"tests":["SingleTestNoSuiteTest","SingleTestSuiteTest"],"suites":null} ' ;
76
+
77
+ // Create a stub for the SomeClass class.
78
+ $ stub = $ this ->getMockBuilder (GenerateTestFailedCommand::class)
79
+ ->onlyMethods (["readFailedTestFile " , "writeFailedTestToFile " ])
80
+ ->getMock ();
81
+ // Configure the stub.
82
+ $ stub
83
+ ->method ('readFailedTestFile ' )
84
+ ->willReturn ($ testFileReturn );
85
+ $ stub
86
+ ->method ('writeFailedTestToFile ' )
87
+ ->willReturn (null );
88
+
89
+ // Run the real code
90
+ $ configuration = $ stub ->getFailedTestList ("" , "" );
91
+ $ this ->assertEquals ($ expectedConfiguration , $ configuration );
92
+ }
93
+
94
+ public function testSingleSuiteAndNoTest (): void
95
+ {
96
+ $ testFileReturn = [
97
+ "tests/functional/tests/MFTF/_generated/SomeSpecificSuite/ " ,
98
+ ];
99
+ $ expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":[null]}} ' ;
100
+
101
+ // Create a stub for the SomeClass class.
102
+ $ stub = $ this ->getMockBuilder (GenerateTestFailedCommand::class)
103
+ ->onlyMethods (["readFailedTestFile " , "writeFailedTestToFile " ])
104
+ ->getMock ();
105
+ // Configure the stub.
106
+ $ stub
107
+ ->method ('readFailedTestFile ' )
108
+ ->willReturn ($ testFileReturn );
109
+ $ stub
110
+ ->method ('writeFailedTestToFile ' )
111
+ ->willReturn (null );
112
+
113
+ // Run the real code
114
+ $ configuration = $ stub ->getFailedTestList ("" , "" );
115
+ $ this ->assertEquals ($ expectedConfiguration , $ configuration );
116
+ }
117
+
118
+ public function testSingleSuiteWithTest (): void
119
+ {
120
+ $ testFileReturn = [
121
+ "tests/functional/tests/MFTF/_generated/SomeSpecificSuite/FirstTestSuiteTest.php:SingleTestSuiteTest " ,
122
+ ];
123
+ $ expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":["SingleTestSuiteTest"]}} ' ;
124
+
125
+ // Create a stub for the SomeClass class.
126
+ $ stub = $ this ->getMockBuilder (GenerateTestFailedCommand::class)
127
+ ->onlyMethods (["readFailedTestFile " , "writeFailedTestToFile " ])
128
+ ->getMock ();
129
+ // Configure the stub.
130
+ $ stub
131
+ ->method ('readFailedTestFile ' )
132
+ ->willReturn ($ testFileReturn );
133
+ $ stub
134
+ ->method ('writeFailedTestToFile ' )
135
+ ->willReturn (null );
136
+
137
+ // Run the real code
138
+ $ configuration = $ stub ->getFailedTestList ("" , "" );
139
+ $ this ->assertEquals ($ expectedConfiguration , $ configuration );
140
+ }
141
+
142
+ public function testMultipleSuitesWithNoTests (): void
143
+ {
144
+ $ testFileReturn = [
145
+ "tests/functional/tests/MFTF/_generated/SomeSpecificSuite/ " ,
146
+ "tests/functional/tests/MFTF/_generated/SomeSpecificSuite1/ " ,
147
+
148
+ ];
149
+ $ expectedConfiguration = '{"tests":null,"suites":{"SomeSpecificSuite":[null],"SomeSpecificSuite1":[null]}} ' ;
150
+
151
+ // Create a stub for the SomeClass class.
152
+ $ stub = $ this ->getMockBuilder (GenerateTestFailedCommand::class)
153
+ ->onlyMethods (["readFailedTestFile " , "writeFailedTestToFile " ])
154
+ ->getMock ();
155
+ // Configure the stub.
156
+ $ stub
157
+ ->method ('readFailedTestFile ' )
158
+ ->willReturn ($ testFileReturn );
159
+ $ stub
160
+ ->method ('writeFailedTestToFile ' )
161
+ ->willReturn (null );
162
+
163
+ // Run the real code
164
+ $ configuration = $ stub ->getFailedTestList ("" , "" );
165
+ $ this ->assertEquals ($ expectedConfiguration , $ configuration );
166
+ }
41
167
}
0 commit comments