Files
piratepoet/tests/integration/Models/StatisticsFormsTest.php
Jan Jakeš 1b5b9d89ff Autofix namespace declaration spacing
[MAILPOET-2409]
2019-10-01 14:29:30 +01:00

57 lines
1.8 KiB
PHP

<?php
namespace MailPoet\Test\Models;
use MailPoet\Models\StatisticsForms;
class StatisticsFormsTest extends \MailPoetTest {
function testItCanRecordStats() {
$record = StatisticsForms::record($form_id = 1, $subscriber_id = 2);
expect($record->form_id)->equals(1);
expect($record->subscriber_id)->equals(2);
}
function testItDoesNotOverrideStats() {
$record = StatisticsForms::record($form_id = 1, $subscriber_id = 2);
expect($record->form_id)->equals(1);
expect($record->subscriber_id)->equals(2);
expect(StatisticsForms::count())->equals(1);
}
function testItCanRecordMultipleStats() {
$record = StatisticsForms::record($form_id = 1, $subscriber_id = 2);
$record2 = StatisticsForms::record($form_id = 2, $subscriber_id = 2);
$record3 = StatisticsForms::record($form_id = 1, $subscriber_id = 1);
expect(StatisticsForms::count())->equals(3);
}
function testItCannotRecordStatsWithoutFormOrSubscriber() {
$record = StatisticsForms::record($form_id = null, $subscriber_id = 1);
expect($record)->false();
$record = StatisticsForms::record($form_id = 1, $subscriber_id = null);
expect($record)->false();
}
function testItCanReturnTheTotalSignupsOfAForm() {
// simulate 2 signups for form #1
StatisticsForms::record($form_id = 1, $subscriber_id = 2);
StatisticsForms::record($form_id = 1, $subscriber_id = 1);
// simulate 1 signup for form #2
StatisticsForms::record($form_id = 2, $subscriber_id = 2);
$form_1_signups = StatisticsForms::getTotalSignups($form_id = 1);
expect($form_1_signups)->equals(2);
$form_2_signups = StatisticsForms::getTotalSignups($form_id = 2);
expect($form_2_signups)->equals(1);
}
function _after() {
StatisticsForms::deleteMany();
}
}