diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.xml
index f18c53cb112e2..c1970955013e8 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.xml
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.xml
@@ -10,6 +10,10 @@
input[name='start_at']
+
+ select[name="stores[]"]
+ multiselectgrouplist
+
input[name='subject']
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSave.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php
similarity index 76%
rename from dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSave.php
rename to dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php
index ccc273d0f4ebf..89df51175b069 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSave.php
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php
@@ -8,17 +8,16 @@
use Magento\Mtf\Constraint\AbstractAssertForm;
use Magento\Newsletter\Test\Fixture\Queue;
-use Magento\Newsletter\Test\Fixture\Template;
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueue;
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueueIndex;
/**
- * Assert that "Newsletter Queue" saved correctly.
+ * Assert that Newsletter Queue form data equal the fixture data.
*/
-class AssertNewsletterQueueSave extends AbstractAssertForm
+class AssertNewsletterQueueForm extends AbstractAssertForm
{
/**
- * Assert that "Newsletter Queue" saved correctly.
+ * Assert that Newsletter Queue form data equal the fixture data.
*
* @param TemplateQueueIndex $indexQueue
* @param TemplateQueue $templateQueue
@@ -30,7 +29,7 @@ public function processAssert(
TemplateQueue $templateQueue,
Queue $queue
) {
- $indexQueue->getMessagesBlock()->assertSuccessMessage();
+ $indexQueue->open();
$indexQueue->getQueueTemplateGrid()->searchAndOpen(['newsletter_subject' => $queue->getNewsletterSubject()]);
$dataDiff = $this->verifyData($queue->getData(), $templateQueue->getEditForm()->getData($queue));
@@ -42,6 +41,6 @@ public function processAssert(
*/
public function toString()
{
- return '"Newsletter Queue" saved correctly';
+ return 'Newsletter Queue form data equal the fixture data.';
}
}
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueInGrid.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueInGrid.php
new file mode 100644
index 0000000000000..35606db3e5202
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueInGrid.php
@@ -0,0 +1,47 @@
+open();
+ $filter = [
+ 'newsletter_subject' => $queue->getNewsletterSubject(),
+ ];
+
+ \PHPUnit_Framework_Assert::assertTrue(
+ $indexQueue->getQueueTemplateGrid()->isRowVisible($filter),
+ 'Newsletter Queue \'' . $queue->getNewsletterSubject() . '\' is absent in grid.'
+ );
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function toString()
+ {
+ return 'Newsletter Queue is present in grid.';
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSaveMessage.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSaveMessage.php
new file mode 100644
index 0000000000000..4e240d6edd0c1
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSaveMessage.php
@@ -0,0 +1,48 @@
+getMessagesBlock()->getSuccessMessages();
+ \PHPUnit_Framework_Assert::assertContains(
+ self::SUCCESS_MESSAGE,
+ $actualMessages,
+ 'Wrong success message is displayed.'
+ . "\nExpected: " . self::SUCCESS_MESSAGE
+ . "\nActual:\n" . implode("\n - ", $actualMessages)
+ );
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function toString()
+ {
+ return 'Newsletter Queue success save message is present.';
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml
index 1cd11177df0cd..7e723e678e1ae 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml
@@ -24,7 +24,8 @@
-
-
+
+
+
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue/Stores.php b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue/Stores.php
new file mode 100644
index 0000000000000..c0d9e6f1e7e73
--- /dev/null
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue/Stores.php
@@ -0,0 +1,61 @@
+params = $params;
+ if (isset($data['dataset'])) {
+ $datasets = is_array($data['dataset']) ? $data['dataset'] : [$data['dataset']];
+ foreach ($datasets as $dataset) {
+ /** @var \Magento\Store\Test\Fixture\Store $store */
+ $store = $fixtureFactory->createByCode('store', ['dataset' => $dataset]);
+ if (!$store->hasData('store_id')) {
+ $store->persist();
+ }
+ $this->stores[] = $store;
+ $this->data[] = $store->getGroupId() . '/' . $store->getName();
+ }
+ }
+ }
+
+ /**
+ * Return stores.
+ *
+ * @return array
+ */
+ public function getStores()
+ {
+ return $this->stores;
+ }
+}
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml
index 2cbcc2de63269..eac5caac897ff 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml
@@ -7,8 +7,16 @@
-->
-
- Aug 17, 2017 2:50:30 PM
+
+
+ - M j, Y g:i:s A
+
+
+ -
+
- default
+ - custom
+
+
Newsletter Subject %isolation%
Sender Name %isolation%
support%isolation%@example.com
diff --git a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateQueueTest.xml b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateQueueTest.xml
index 938078551c1cf..02bc8aa7c1c04 100644
--- a/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateQueueTest.xml
+++ b/dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateQueueTest.xml
@@ -9,8 +9,10 @@
default
- default
-
+ default_with_stores
+
+
+