- Deletes related custom fields when deleting subscriber

- Updates unit tests
This commit is contained in:
Vlad
2016-11-21 22:30:04 -05:00
parent 7c61fa2c81
commit d8b1be9ccc
3 changed files with 30 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
<?php
use Carbon\Carbon;
use Codeception\Util\Fixtures;
use MailPoet\Models\CustomField;
use MailPoet\Models\Segment;
use MailPoet\Models\Subscriber;
@@ -482,6 +483,23 @@ class SubscriberTest extends MailPoetTest {
expect($subscriber)->notEquals(false);
}
function testItCanDeleteCustomFieldRelations() {
$subscriber = Subscriber::create();
$subscriber->hydrate(Fixtures::get('subscriber_template'));
$subscriber->save();
foreach(range(1, 5) as $custom_field) {
$subscriber_custom_field = SubscriberCustomField::create();
$subscriber_custom_field->custom_field_id = $custom_field;
$subscriber_custom_field->subscriber_id = ($custom_field !== 5) ?
$subscriber->id :
100; // create one record with a nonexistent subscriber id
$subscriber_custom_field->save();
}
expect(SubscriberCustomField::findMany())->count(5);
$subscriber->delete();
expect(SubscriberCustomField::findMany())->count(1);
}
function testItCanGetTheTotalNumberOfSubscribers() {
// remove all subscribers
Subscriber::deleteMany();