Tests that populator method is not run for versions below
3.0.0-beta.36.2.1
This commit is contained in:
@ -340,7 +340,7 @@ class Populator {
|
|||||||
if(!version_compare(get_option('mailpoet_db_version'), '3.0.0-beta.32', '<=')) {
|
if(!version_compare(get_option('mailpoet_db_version'), '3.0.0-beta.32', '<=')) {
|
||||||
// Data conversion should only be performed only once, when migrating from
|
// Data conversion should only be performed only once, when migrating from
|
||||||
// older version
|
// older version
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$source_charset = $wpdb->get_var('SELECT @@GLOBAL.character_set_connection');
|
$source_charset = $wpdb->get_var('SELECT @@GLOBAL.character_set_connection');
|
||||||
@ -389,6 +389,8 @@ class Populator {
|
|||||||
implode(' AND ', $where_query)
|
implode(' AND ', $where_query)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -401,7 +403,7 @@ class Populator {
|
|||||||
|
|
||||||
// perform once for versions below 3.0.0-beta.36.2.1
|
// perform once for versions below 3.0.0-beta.36.2.1
|
||||||
if(version_compare(get_option('mailpoet_db_version'), '3.0.0-beta.36.2.1', '>=')) {
|
if(version_compare(get_option('mailpoet_db_version'), '3.0.0-beta.36.2.1', '>=')) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$column_list = array(
|
$column_list = array(
|
||||||
@ -439,6 +441,8 @@ class Populator {
|
|||||||
MP_SENDING_QUEUES_TABLE,
|
MP_SENDING_QUEUES_TABLE,
|
||||||
'`type` IN("' . join('" , "', $task_types) . '")'
|
'`type` IN("' . join('" , "', $task_types) . '")'
|
||||||
));
|
));
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -452,7 +456,7 @@ class Populator {
|
|||||||
|
|
||||||
// perform once for versions below 3.0.0-beta.36.2.1
|
// perform once for versions below 3.0.0-beta.36.2.1
|
||||||
if(version_compare(get_option('mailpoet_db_version'), '3.0.0-beta.36.2.1', '>=')) {
|
if(version_compare(get_option('mailpoet_db_version'), '3.0.0-beta.36.2.1', '>=')) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "UPDATE `%s` newsletters JOIN `%s` queues ON newsletters.id = queues.newsletter_id SET newsletters.sent_at = queues.processed_at";
|
$query = "UPDATE `%s` newsletters JOIN `%s` queues ON newsletters.id = queues.newsletter_id SET newsletters.sent_at = queues.processed_at";
|
||||||
@ -461,5 +465,7 @@ class Populator {
|
|||||||
Newsletter::$_table,
|
Newsletter::$_table,
|
||||||
SendingQueue::$_table
|
SendingQueue::$_table
|
||||||
));
|
));
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use MailPoet\Config\Env;
|
||||||
use MailPoet\Config\Populator;
|
use MailPoet\Config\Populator;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\SendingQueue;
|
use MailPoet\Models\SendingQueue;
|
||||||
@ -7,6 +8,9 @@ use MailPoet\Models\SendingQueue;
|
|||||||
class PopulatorTest extends MailPoetTest {
|
class PopulatorTest extends MailPoetTest {
|
||||||
function testItPopulatesNewslettersTableSentAtColumn() {
|
function testItPopulatesNewslettersTableSentAtColumn() {
|
||||||
// TODO: remove in final release
|
// TODO: remove in final release
|
||||||
|
|
||||||
|
// run for versions <= 3.0.0-beta.36.2.0
|
||||||
|
update_option('mailpoet_db_version', '3.0.0-beta.36.2.0');
|
||||||
$newsletters = array();
|
$newsletters = array();
|
||||||
for($i = 1; $i <= 3; $i++) {
|
for($i = 1; $i <= 3; $i++) {
|
||||||
$newsletters[$i] = Newsletter::create();
|
$newsletters[$i] = Newsletter::create();
|
||||||
@ -21,13 +25,19 @@ class PopulatorTest extends MailPoetTest {
|
|||||||
$sending_queue->save();
|
$sending_queue->save();
|
||||||
|
|
||||||
$populator = new Populator();
|
$populator = new Populator();
|
||||||
$populator->populateNewsletterSentAtField();
|
expect($populator->populateNewsletterSentAtField())->true();
|
||||||
expect(Newsletter::whereNull('sent_at')->findMany())->count(2);
|
expect(Newsletter::whereNull('sent_at')->findMany())->count(2);
|
||||||
expect(Newsletter::whereNotNull('sent_at')->findMany())->count(1);
|
expect(Newsletter::whereNotNull('sent_at')->findMany())->count(1);
|
||||||
|
|
||||||
|
// do not run for versions >= 3.0.0-beta.36.2.1
|
||||||
|
update_option('mailpoet_db_version', '3.0.0-beta.36.2.1');
|
||||||
|
$populator = new Populator();
|
||||||
|
expect($populator->populateNewsletterSentAtField())->false();
|
||||||
}
|
}
|
||||||
|
|
||||||
function _after() {
|
function _after() {
|
||||||
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
|
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
|
||||||
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
|
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
|
||||||
|
update_option('mailpoet_db_version', Env::$version);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user