mirror of
https://github.com/opdavies/gmail-filter-builder.git
synced 2025-09-04 04:35:33 +01:00
parent
bac720c679
commit
d8b10d8f49
4 changed files with 101 additions and 0 deletions
36
tests/Unit/Service/PartialsTest.php
Normal file
36
tests/Unit/Service/PartialsTest.php
Normal file
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
namespace Opdavies\Tests\GmailFilterBuilder\Service;
|
||||
|
||||
use Opdavies\GmailFilterBuilder\Model\Filter;
|
||||
use Opdavies\GmailFilterBuilder\Service\Partials;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class PartialsTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Test loading partials from multiple partial files.
|
||||
*/
|
||||
public function testLoadingFiltersFromPartials()
|
||||
{
|
||||
/** @var Filter[] $filters */
|
||||
$filters = FakePartials::load('filters');
|
||||
|
||||
$this->assertCount(3, $filters);
|
||||
|
||||
$this->assertSame('foo@example.com', $filters[0]->getProperties()['from'][0]);
|
||||
$this->assertSame('bar@example.com', $filters[1]->getProperties()['from'][0]);
|
||||
$this->assertSame('baz@example.com', $filters[2]->getProperties()['from'][0]);
|
||||
}
|
||||
}
|
||||
|
||||
class FakePartials extends Partials
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function getFilePattern(string $directoryName)
|
||||
{
|
||||
return __DIR__ . '/../../stubs/filters/*.php';
|
||||
}
|
||||
}
|
13
tests/stubs/filters/a.php
Normal file
13
tests/stubs/filters/a.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
use Opdavies\GmailFilterBuilder\Model\Filter;
|
||||
|
||||
return [
|
||||
Filter::create()
|
||||
->from('foo@example.com')
|
||||
->labelAndArchive('Test'),
|
||||
|
||||
Filter::create()
|
||||
->from('bar@example.com')
|
||||
->labelAndArchive('Test 2'),
|
||||
];
|
9
tests/stubs/filters/b.php
Normal file
9
tests/stubs/filters/b.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?php
|
||||
|
||||
use Opdavies\GmailFilterBuilder\Model\Filter;
|
||||
|
||||
return [
|
||||
Filter::create()
|
||||
->from('baz@example.com')
|
||||
->labelAndArchive('Test 3'),
|
||||
];
|
Loading…
Add table
Add a link
Reference in a new issue