1515
1616class GenerateTestFailedCommandTest extends BaseGenerateCommandTest
1717{
18- public function testSingleTestNoSuite (): void
18+ public function testSingleTestWithNoSuite (): void
1919 {
2020 $ testFileReturn = [
2121 "tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest "
@@ -38,4 +38,130 @@ public function testSingleTestNoSuite(): void
3838 $ configuration = $ stub ->getFailedTestList ("" , "" );
3939 $ this ->assertEquals ($ expectedConfiguration , $ configuration );
4040 }
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+ }
41167}
0 commit comments