Don't assume auto increment of 1

MAILPOET-5145
This commit is contained in:
John Oleksowicz
2023-03-27 14:48:20 -05:00
committed by John Oleksowicz
parent ae442e191c
commit 57eb438eb8
15 changed files with 114 additions and 101 deletions

View File

@@ -14,20 +14,27 @@ class ManageSubscriptionFormRendererTest extends \MailPoetTest {
/** @var ManageSubscriptionFormRenderer */
private $formRenderer;
/** @var SubscriberEntity */
private $subscriber;
/** @var SegmentEntity */
private $segment;
public function _before() {
$this->cleanup();
$this->segment = $this->getSegment();
$this->subscriber = $this->getSubscriber($this->segment);
$this->formRenderer = $this->diContainer->get(ManageSubscriptionFormRenderer::class);
parent::_before();
}
public function testItGeneratesForm() {
$subscriber = $this->getSubscriber($this->getSegment());
$form = $this->formRenderer->renderForm($subscriber);
$form = $this->formRenderer->renderForm($this->subscriber);
expect($form)->regExp('/<form class="mailpoet-manage-subscription" method="post" action="[a-z0-9:\/\._]+wp-admin\/admin-post.php" novalidate>/');
expect($form)->stringContainsString('<input type="hidden" name="data[email]" value="subscriber@test.com" />');
expect($form)->regExp('/<input type="text" autocomplete="given-name" class="mailpoet_text" name="data\[[a-zA-Z0-9=_]+\]" title="First name" value="Fname" data-automation-id="form_first_name" data-parsley-names=\'\[&quot;Please specify a valid name.&quot;,&quot;Addresses in names are not permitted, please add your name instead\.&quot;\]\'\/>/');
expect($form)->regExp('/<input type="text" autocomplete="family-name" class="mailpoet_text" name="data\[[a-zA-Z0-9=_]+\]" title="Last name" value="Lname" data-automation-id="form_last_name" data-parsley-names=\'\[&quot;Please specify a valid name.&quot;,&quot;Addresses in names are not permitted, please add your name instead\.&quot;\]\'\/>/');
expect($form)->regExp('/<input type="checkbox" class="mailpoet_checkbox" name="data\[[a-zA-Z0-9=_]+\]\[\]" value="1" checked="checked" \/> Test segment/');
expect($form)->regExp('/<input type="checkbox" class="mailpoet_checkbox" name="data\[[a-zA-Z0-9=_]+\]\[\]" value="' . $this->segment->getId() .'" checked="checked" \/> Test segment/');
expect($form)->regExp('/<input type="text" autocomplete="on" class="mailpoet_text" name="data\[[a-zA-Z0-9=_]+\]" title="custom field 1" value="some value" \/>/');
expect($form)->regExp('/<input type="text" autocomplete="on" class="mailpoet_text" name="data\[[a-zA-Z0-9=_]+\]" title="custom field 2" value="another value" \/>/');
@@ -35,7 +42,6 @@ class ManageSubscriptionFormRendererTest extends \MailPoetTest {
}
public function testItAppliesFieldsFilter() {
$subscriber = $this->getSubscriber($this->getSegment());
$wp = $this->diContainer->get(WPFunctions::class);
$wp->addFilter('mailpoet_manage_subscription_page_form_fields', function($fields) {
$fields[] = [
@@ -48,7 +54,7 @@ class ManageSubscriptionFormRendererTest extends \MailPoetTest {
];
return $fields;
});
$form = $this->formRenderer->renderForm($subscriber);
$form = $this->formRenderer->renderForm($this->subscriber);
expect($form)->regExp('/<input type="text" autocomplete="on" class="mailpoet_text" name="data\[[a-zA-Z0-9=_]+\]" title="Additional info" value="" \/>/');
}