From 0153e63db0eccb3bc24ce93b7bea5526b932d557 Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Thu, 15 Apr 2021 08:47:07 +0200 Subject: [PATCH] Add invalid paths tests [MAILPOET-3224] --- .../DynamicSegments/FilterDataMapperTest.php | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/unit/Segments/DynamicSegments/FilterDataMapperTest.php b/tests/unit/Segments/DynamicSegments/FilterDataMapperTest.php index f35a8941f4..5679952994 100644 --- a/tests/unit/Segments/DynamicSegments/FilterDataMapperTest.php +++ b/tests/unit/Segments/DynamicSegments/FilterDataMapperTest.php @@ -186,4 +186,44 @@ class FilterDataMapperTest extends \MailPoetUnitTest { 'operator' => 'more', ]); } + + public function testItCreatesEmailOpensWithOperator() { + $data = [ + 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, + 'action' => EmailOpensAbsoluteCountAction::TYPE, + 'opens' => 5, + 'days' => 3, + 'operator' => 'less', + ]; + $filter = $this->mapper->map($data); + expect($filter)->isInstanceOf(DynamicSegmentFilterData::class); + expect($filter->getFilterType())->equals(DynamicSegmentFilterData::TYPE_EMAIL); + expect($filter->getData())->equals([ + 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, + 'action' => EmailOpensAbsoluteCountAction::TYPE, + 'opens' => 5, + 'days' => 3, + 'operator' => 'less', + ]); + } + + public function testItCreatesEmailOpensWithMissingOpens() { + $data = [ + 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, + 'action' => EmailOpensAbsoluteCountAction::TYPE, + 'days' => 3, + ]; + $this->expectException(InvalidFilterException::class); + $this->mapper->map($data); + } + + public function testItCreatesEmailOpensWithMissingDays() { + $data = [ + 'segmentType' => DynamicSegmentFilterData::TYPE_EMAIL, + 'action' => EmailOpensAbsoluteCountAction::TYPE, + 'opens' => 5, + ]; + $this->expectException(InvalidFilterException::class); + $this->mapper->map($data); + } }