Skip to content

Commit 857dec4

Browse files
Mohit.k.SharmaMohit.k.Sharma
authored andcommitted
Merge with develop
2 parents 71a13bb + cbff68a commit 857dec4

File tree

21 files changed

+608
-94
lines changed

21 files changed

+608
-94
lines changed

.github/CONTRIBUTING.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ This gives Adobe permission to redistribute your contributions as part of the pr
5252
7. For large features or changes, [open an issue][issue] to discuss first.
5353
This may prevent duplicate or unnecessary effort, and it may gain you some additional contributors.
5454
8. To report a bug, [open an issue][issue], and follow [guidelines about bugfix issues][issue reporting].
55-
9. All automated tests must pass successfully (all builds on [Travis CI] must be green).
55+
9. All automated tests must pass successfully (all builds must be green).
5656

5757
## Fork a repository
5858

@@ -179,4 +179,3 @@ Label| Description
179179
[Magento Contributor Agreement]: http://www.magento.com/legaldocuments/mca
180180
[MFTF repository]: https://github.com/magento/magento2-functional-testing-framework
181181
[open new issue]: https://github.com/magento/magento2-functional-testing-framework/issues/new
182-
[Travis CI]: https://travis-ci.com/magento/magento2-functional-testing-framework/pull_requests

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
- [ ] Pull request has a meaningful description of its purpose
1313
- [ ] All commits are accompanied by meaningful commit messages
1414
- [ ] All new or changed code is covered with unit/verification tests (if applicable)
15-
- [ ] All automated tests passed successfully (all builds on Travis CI are green)
15+
- [ ] All automated tests passed successfully (all builds are green)
1616
- [ ] Changes to Framework doesn't have backward incompatible changes for tests or have related Pull Request with fixes to tests

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Magento Functional Testing Framework (MFTF)
22

3-
[![Build Status](https://travis-ci.org/magento/magento2-functional-testing-framework.svg?branch=develop)](https://travis-ci.org/magento/magento2-functional-testing-framework) [![Coverage Status](https://coveralls.io/repos/github/magento/magento2-functional-testing-framework/badge.svg?branch=develop)](https://coveralls.io/github/magento/magento2-functional-testing-framework)
4-
53
----
64

75
## Installation

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"composer/composer": "^1.9||^2.0",
2626
"csharpru/vault-php": "^4.2.1",
2727
"guzzlehttp/guzzle": "^7.3.0",
28+
"laminas/laminas-diactoros": "^2.8",
2829
"monolog/monolog": "^2.3",
2930
"mustache/mustache": "~2.5",
3031
"nikic/php-parser": "^4.4",

composer.lock

Lines changed: 92 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dev/tests/unit/Magento/FunctionalTestFramework/Console/GenerateTestFailedCommandTest.php

Lines changed: 126 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
class 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
}

dev/tests/unit/Magento/FunctionalTestFramework/Console/RunTestFailedCommandTest.php

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,83 @@ private function invokePrivateMethod(&$object, $methodName, array $parameters =
5050
$method->setAccessible(true);
5151
return $method->invokeArgs($object, $parameters);
5252
}
53+
54+
public function testSingleTestNoSuite(): void
55+
{
56+
$testFailedFile = [
57+
"tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest"
58+
];
59+
60+
$expectedResult = [
61+
'tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php'
62+
];
63+
64+
$runFailed = new RunTestFailedCommand('run:failed');
65+
$filter = $this->invokePrivateMethod($runFailed, 'filterTestsForExecution', [$testFailedFile]);
66+
$this->assertEquals($expectedResult, $filter);
67+
}
68+
69+
public function testMultipleTestNoSuite(): void
70+
{
71+
$testFailedFile = [
72+
"tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php:SingleTestNoSuiteTest",
73+
"tests/functional/tests/MFTF/_generated/default/FirstTestSuiteTest.php:SingleTestSuiteTest"
74+
];
75+
76+
$expectedResult = [
77+
"tests/functional/tests/MFTF/_generated/default/SingleTestNoSuiteTest.php",
78+
"tests/functional/tests/MFTF/_generated/default/FirstTestSuiteTest.php"
79+
];
80+
81+
$runFailed = new RunTestFailedCommand('run:failed');
82+
$filter = $this->invokePrivateMethod($runFailed, 'filterTestsForExecution', [$testFailedFile]);
83+
$this->assertEquals($expectedResult, $filter);
84+
}
85+
86+
public function testSingleSuiteNoTest(): void
87+
{
88+
$testFailedFile = [
89+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/",
90+
];
91+
92+
$expectedResult = [
93+
"-g SomeSpecificSuite"
94+
];
95+
96+
$runFailed = new RunTestFailedCommand('run:failed');
97+
$filter = $this->invokePrivateMethod($runFailed, 'filterTestsForExecution', [$testFailedFile]);
98+
$this->assertEquals($expectedResult, $filter);
99+
}
100+
101+
public function testSingleSuiteAndTest(): void
102+
{
103+
$testFailedFile = [
104+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/FirstTestSuiteTest.php:SingleTestSuiteTest",
105+
];
106+
$expectedResult = [
107+
"-g SomeSpecificSuite",
108+
];
109+
110+
$runFailed = new RunTestFailedCommand('run:failed');
111+
$filter = $this->invokePrivateMethod($runFailed, 'filterTestsForExecution', [$testFailedFile]);
112+
$this->assertEquals($expectedResult, $filter);
113+
}
114+
115+
public function testMultipleSuitesWithNoTest(): void
116+
{
117+
$testFailedFile = [
118+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite/",
119+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite1/",
120+
"tests/functional/tests/MFTF/_generated/SomeSpecificSuite2/"
121+
];
122+
$expectedResult = [
123+
"-g SomeSpecificSuite",
124+
"-g SomeSpecificSuite1",
125+
"-g SomeSpecificSuite2",
126+
];
127+
128+
$runFailed = new RunTestFailedCommand('run:failed');
129+
$filter = $this->invokePrivateMethod($runFailed, 'filterTestsForExecution', [$testFailedFile]);
130+
$this->assertEquals($expectedResult, $filter);
131+
}
53132
}

0 commit comments

Comments
 (0)