Update tests
[MAILPOET-4007]
This commit is contained in:
@@ -511,7 +511,7 @@ class ManageSegmentsCest {
|
||||
$i->seeInField(['name' => 'name'], $editedTitle);
|
||||
$i->seeInField(['name' => 'description'], $editedDesc);
|
||||
$i->see('# of orders', $actionSelectElement);
|
||||
$i->see('equal', $numberOfOrdersTypeElement);
|
||||
$i->see('equals', $numberOfOrdersTypeElement);
|
||||
$i->seeInField($numberOfOrdersCountElement, '4');
|
||||
$i->seeInField($numberOfOrdersDaysElement, '20');
|
||||
}
|
||||
|
@@ -48,7 +48,20 @@ class WooCommerceNumberOfOrdersTest extends \MailPoetTest {
|
||||
$this->assertSame('customer1@example.com', $subscriber1->getEmail());
|
||||
}
|
||||
|
||||
public function testItGestCustomersThatPlacedAtLeastOneOrderInTheLastWeek() {
|
||||
public function testItGetsCustomersThatDidNotPlaceTwoOrdersInTheLastWeek() {
|
||||
$segmentFilter = $this->getSegmentFilter('!=', 2, 7);
|
||||
$queryBuilder = $this->numberOfOrders->apply($this->getQueryBuilder(), $segmentFilter);
|
||||
$result = $queryBuilder->execute()->fetchAll();
|
||||
$this->assertSame(2, count($result));
|
||||
$subscriber1 = $this->entityManager->find(SubscriberEntity::class, $result[0]['inner_subscriber_id']);
|
||||
$this->assertInstanceOf(SubscriberEntity::class, $subscriber1);
|
||||
$this->assertSame('customer1@example.com', $subscriber1->getEmail());
|
||||
$subscriber2 = $this->entityManager->find(SubscriberEntity::class, $result[1]['inner_subscriber_id']);
|
||||
$this->assertInstanceOf(SubscriberEntity::class, $subscriber2);
|
||||
$this->assertSame('customer3@example.com', $subscriber2->getEmail());
|
||||
}
|
||||
|
||||
public function testItGetsCustomersThatPlacedAtLeastOneOrderInTheLastWeek() {
|
||||
$segmentFilter = $this->getSegmentFilter('>', 0, 7);
|
||||
$queryBuilder = $this->numberOfOrders->apply($this->getQueryBuilder(), $segmentFilter);
|
||||
$result = $queryBuilder->execute()->fetchAll();
|
||||
|
@@ -45,6 +45,50 @@ class WooCommerceTotalSpentTest extends \MailPoetTest {
|
||||
$this->orders[] = $this->createOrder(['user_id' => $userId3, 'order_total' => 25]);
|
||||
}
|
||||
|
||||
public function testItGetsCustomersThatSpentFifteenInTheLastDay(): void {
|
||||
$segmentFilter = $this->getSegmentFilter('=', 15, 1);
|
||||
$queryBuilder = $this->totalSpent->apply($this->createQueryBuilder(), $segmentFilter);
|
||||
$statement = $queryBuilder->execute();
|
||||
$result = $statement instanceof Statement ? $statement->fetchAll() : [];
|
||||
expect($result)->count(1);
|
||||
$subscriber1 = $this->subscribersRepository->findOneById($result[0]['inner_subscriber_id']);
|
||||
assert($subscriber1 instanceof SubscriberEntity);
|
||||
expect($subscriber1)->isInstanceOf(SubscriberEntity::class);
|
||||
expect($subscriber1->getEmail())->equals('customer2@example.com');
|
||||
}
|
||||
|
||||
public function testItGetsCustomersThatSpentFifteenInTheLastWeek(): void {
|
||||
$segmentFilter = $this->getSegmentFilter('=', 15, 7);
|
||||
$queryBuilder = $this->totalSpent->apply($this->createQueryBuilder(), $segmentFilter);
|
||||
$statement = $queryBuilder->execute();
|
||||
$result = $statement instanceof Statement ? $statement->fetchAll() : [];
|
||||
expect($result)->count(2);
|
||||
$subscriber1 = $this->subscribersRepository->findOneById($result[0]['inner_subscriber_id']);
|
||||
assert($subscriber1 instanceof SubscriberEntity);
|
||||
expect($subscriber1)->isInstanceOf(SubscriberEntity::class);
|
||||
expect($subscriber1->getEmail())->equals('customer1@example.com');
|
||||
$subscriber2 = $this->subscribersRepository->findOneById($result[1]['inner_subscriber_id']);
|
||||
assert($subscriber2 instanceof SubscriberEntity);
|
||||
expect($subscriber2)->isInstanceOf(SubscriberEntity::class);
|
||||
expect($subscriber2->getEmail())->equals('customer2@example.com');
|
||||
}
|
||||
|
||||
public function testItGetsCustomersThatDidNotSpendFifteenInTheLastDay(): void {
|
||||
$segmentFilter = $this->getSegmentFilter('!=', 15, 1);
|
||||
$queryBuilder = $this->totalSpent->apply($this->createQueryBuilder(), $segmentFilter);
|
||||
$statement = $queryBuilder->execute();
|
||||
$result = $statement instanceof Statement ? $statement->fetchAll() : [];
|
||||
expect($result)->count(2);
|
||||
$subscriber1 = $this->subscribersRepository->findOneById($result[0]['inner_subscriber_id']);
|
||||
assert($subscriber1 instanceof SubscriberEntity);
|
||||
expect($subscriber1)->isInstanceOf(SubscriberEntity::class);
|
||||
expect($subscriber1->getEmail())->equals('customer1@example.com');
|
||||
$subscriber2 = $this->subscribersRepository->findOneById($result[1]['inner_subscriber_id']);
|
||||
assert($subscriber2 instanceof SubscriberEntity);
|
||||
expect($subscriber2)->isInstanceOf(SubscriberEntity::class);
|
||||
expect($subscriber2->getEmail())->equals('customer3@example.com');
|
||||
}
|
||||
|
||||
public function testItGetsCustomersThatSpentMoreThanTwentyInTheLastDay(): void {
|
||||
$segmentFilter = $this->getSegmentFilter('>', 20, 1);
|
||||
$queryBuilder = $this->totalSpent->apply($this->createQueryBuilder(), $segmentFilter);
|
||||
|
Reference in New Issue
Block a user