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