Fix serialization errors in integration tests (models are not serializable)
[MAILPOET-2501]
This commit is contained in:
committed by
Jack Kitterhing
parent
f16d97fa5a
commit
17ec220960
@@ -39,7 +39,6 @@ class Populator {
|
|||||||
public $prefix;
|
public $prefix;
|
||||||
public $models;
|
public $models;
|
||||||
public $templates;
|
public $templates;
|
||||||
private $default_segment;
|
|
||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
/** @var WPFunctions */
|
/** @var WPFunctions */
|
||||||
@@ -158,8 +157,8 @@ class Populator {
|
|||||||
|
|
||||||
array_map([$this, 'populate'], $this->models);
|
array_map([$this, 'populate'], $this->models);
|
||||||
|
|
||||||
$this->createDefaultSegments();
|
$default_segment = $this->createDefaultSegment();
|
||||||
$this->createDefaultForm();
|
$this->createDefaultForm($default_segment);
|
||||||
$this->createDefaultSettings();
|
$this->createDefaultSettings();
|
||||||
$this->createDefaultUsersFlags();
|
$this->createDefaultUsersFlags();
|
||||||
$this->createMailPoetPage();
|
$this->createMailPoetPage();
|
||||||
@@ -337,7 +336,7 @@ class Populator {
|
|||||||
$user_flags_repository->flush();
|
$user_flags_repository->flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createDefaultSegments() {
|
private function createDefaultSegment() {
|
||||||
// WP Users segment
|
// WP Users segment
|
||||||
Segment::getWPSegment();
|
Segment::getWPSegment();
|
||||||
// WooCommerce customers segment
|
// WooCommerce customers segment
|
||||||
@@ -348,7 +347,7 @@ class Populator {
|
|||||||
|
|
||||||
// Default segment
|
// Default segment
|
||||||
if (Segment::where('type', 'default')->count() === 0) {
|
if (Segment::where('type', 'default')->count() === 0) {
|
||||||
$this->default_segment = Segment::create();
|
$default_segment = Segment::create();
|
||||||
$new_list = [
|
$new_list = [
|
||||||
'name' => $this->wp->__('My First List', 'mailpoet'),
|
'name' => $this->wp->__('My First List', 'mailpoet'),
|
||||||
'description' =>
|
'description' =>
|
||||||
@@ -357,21 +356,21 @@ class Populator {
|
|||||||
if ($this->flags_controller->isSupported(FeaturesController::NEW_DEFAULT_LIST_NAME)) {
|
if ($this->flags_controller->isSupported(FeaturesController::NEW_DEFAULT_LIST_NAME)) {
|
||||||
$new_list['name'] = $this->wp->__('Newsletter mailing list', 'mailpoet');
|
$new_list['name'] = $this->wp->__('Newsletter mailing list', 'mailpoet');
|
||||||
}
|
}
|
||||||
$this->default_segment->hydrate($new_list);
|
$default_segment->hydrate($new_list);
|
||||||
$this->default_segment->save();
|
$default_segment->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createDefaultForm() {
|
private function createDefaultForm($default_segment) {
|
||||||
if (Form::count() === 0) {
|
if (Form::count() === 0) {
|
||||||
$factory = new DefaultForm();
|
$factory = new DefaultForm();
|
||||||
if (!$this->default_segment) {
|
if (!$default_segment) {
|
||||||
$this->default_segment = Segment::where('type', 'default')->orderByAsc('id')->limit(1)->findOne();
|
$default_segment = Segment::where('type', 'default')->orderByAsc('id')->limit(1)->findOne();
|
||||||
}
|
}
|
||||||
Form::createOrUpdate([
|
Form::createOrUpdate([
|
||||||
'name' => $factory->getName(),
|
'name' => $factory->getName(),
|
||||||
'body' => serialize($factory->getBody()),
|
'body' => serialize($factory->getBody()),
|
||||||
'settings' => serialize($factory->getSettings($this->default_segment)),
|
'settings' => serialize($factory->getSettings($default_segment)),
|
||||||
'styles' => $factory->getStyles(),
|
'styles' => $factory->getStyles(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user