Update tests

[MAILPOET-4007]
This commit is contained in:
wxa
2021-12-09 18:46:24 +03:00
committed by Veljko V
parent e53d746432
commit c86443a08c
3 changed files with 59 additions and 2 deletions

View File

@@ -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');
}

View File

@@ -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();

View File

@@ -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);