Allow for setting multiple subject conditions

This commit is contained in:
Oliver Davies 2018-06-01 20:26:06 +01:00
parent 5dd94e2852
commit d916b8e165
2 changed files with 17 additions and 4 deletions

View file

@ -74,13 +74,15 @@ class Filter
}
/**
* @param string $subject
* @param string|array $values
*
* @return $this
*/
public function subject($subject)
public function subject($values)
{
$this->properties['subject'] = $subject;
$this->properties['subject'] = collect($values)->map(function ($value) {
return json_encode($value);
})->implode('|');
return $this;
}

View file

@ -102,11 +102,22 @@ class FilterTest extends TestCase
public function testSubject()
{
$this->assertEquals(
['subject' => 'Something'],
['subject' => '"Something"'],
$this->filter->subject('Something')->toArray()
);
}
/**
* Test that multiple subject conditions can be added.
*/
public function testMultipleSubjectsCanBeAdded()
{
$this->assertEquals(
['subject' => '"Test"|"Foo bar"'],
$this->filter->subject(['Test', 'Foo bar'])->toArray()
);
}
/**
* @covers Filter::hasAttachment()
*/