Update tests
[MAILPOET-4007]
This commit is contained in:
@@ -511,7 +511,7 @@ class ManageSegmentsCest {
|
|||||||
$i->seeInField(['name' => 'name'], $editedTitle);
|
$i->seeInField(['name' => 'name'], $editedTitle);
|
||||||
$i->seeInField(['name' => 'description'], $editedDesc);
|
$i->seeInField(['name' => 'description'], $editedDesc);
|
||||||
$i->see('# of orders', $actionSelectElement);
|
$i->see('# of orders', $actionSelectElement);
|
||||||
$i->see('equal', $numberOfOrdersTypeElement);
|
$i->see('equals', $numberOfOrdersTypeElement);
|
||||||
$i->seeInField($numberOfOrdersCountElement, '4');
|
$i->seeInField($numberOfOrdersCountElement, '4');
|
||||||
$i->seeInField($numberOfOrdersDaysElement, '20');
|
$i->seeInField($numberOfOrdersDaysElement, '20');
|
||||||
}
|
}
|
||||||
|
@@ -48,7 +48,20 @@ class WooCommerceNumberOfOrdersTest extends \MailPoetTest {
|
|||||||
$this->assertSame('customer1@example.com', $subscriber1->getEmail());
|
$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);
|
$segmentFilter = $this->getSegmentFilter('>', 0, 7);
|
||||||
$queryBuilder = $this->numberOfOrders->apply($this->getQueryBuilder(), $segmentFilter);
|
$queryBuilder = $this->numberOfOrders->apply($this->getQueryBuilder(), $segmentFilter);
|
||||||
$result = $queryBuilder->execute()->fetchAll();
|
$result = $queryBuilder->execute()->fetchAll();
|
||||||
|
@@ -45,6 +45,50 @@ class WooCommerceTotalSpentTest extends \MailPoetTest {
|
|||||||
$this->orders[] = $this->createOrder(['user_id' => $userId3, 'order_total' => 25]);
|
$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 {
|
public function testItGetsCustomersThatSpentMoreThanTwentyInTheLastDay(): void {
|
||||||
$segmentFilter = $this->getSegmentFilter('>', 20, 1);
|
$segmentFilter = $this->getSegmentFilter('>', 20, 1);
|
||||||
$queryBuilder = $this->totalSpent->apply($this->createQueryBuilder(), $segmentFilter);
|
$queryBuilder = $this->totalSpent->apply($this->createQueryBuilder(), $segmentFilter);
|
||||||
|
Reference in New Issue
Block a user