Skip to content

Commit fd3a80e

Browse files
committed
Add test to uncover glob pattern not being applied
The Magento\Ui\DataProvider\Config\FileResolver does not apply the filename glob pattern passed to the method while matching files. This test triggers the error.
1 parent fc916fb commit fd3a80e

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?php
2+
3+
namespace Magento\Ui\DataProvider\Config;
4+
5+
use Magento\Framework\Filesystem;
6+
use Magento\Ui\DataProvider\Config\FileResolver;
7+
use Magento\Framework\Config\FileIteratorFactory;
8+
9+
class FileResolverTest extends \PHPUnit_Framework_TestCase
10+
{
11+
/**
12+
* @var \Magento\Framework\Filesystem\Directory\Read | \PHPUnit_Framework_MockObject_MockObject
13+
*/
14+
private $mockDirectoryRead;
15+
16+
/**
17+
* @var FileResolver
18+
*/
19+
private $fileResolver;
20+
21+
public function setUp()
22+
{
23+
$this->mockDirectoryRead = $this->getMockBuilder('Magento\Framework\Filesystem\Directory\Read')
24+
->disableOriginalConstructor()
25+
->getMock();
26+
$stubFileIteratorFactory = $this->getMockBuilder('Magento\Framework\Config\FileIteratorFactory')
27+
->disableOriginalConstructor()
28+
->getMock();
29+
$stubFilesystem = $this->getMockBuilder('Magento\Framework\Filesystem')
30+
->disableOriginalConstructor()
31+
->getMock();
32+
$stubFilesystem->expects($this->any())
33+
->method('getDirectoryRead')
34+
->willReturn($this->mockDirectoryRead);
35+
$this->fileResolver = new FileResolver($stubFilesystem, $stubFileIteratorFactory);
36+
}
37+
38+
/**
39+
* @test
40+
*/
41+
public function itShouldApplyTheFilenamePattern()
42+
{
43+
$this->mockDirectoryRead->expects($this->once())
44+
->method('search')
45+
->with($this->matchesRegularExpression('#\*\.xml$#'))
46+
->willReturn([]);
47+
48+
$this->fileResolver->get('*.xml', '');
49+
}
50+
}

0 commit comments

Comments
 (0)