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,129 @@ 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+ ];
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+ }
41166}
0 commit comments