Skip to content

Commit 106513f

Browse files
committed
MAGETWO-56349: [GITHUB] Newsletter Queue doesn't set to local time #5943 #2937 #7560
1 parent 29eb476 commit 106513f

File tree

8 files changed

+182
-12
lines changed

8 files changed

+182
-12
lines changed

dev/tests/functional/tests/app/Magento/Newsletter/Test/Block/Adminhtml/Queue/Edit/QueueForm.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
<queue_start_at>
1111
<selector>input[name='start_at']</selector>
1212
</queue_start_at>
13+
<stores>
14+
<selector>select[name="stores[]"]</selector>
15+
<input>multiselectgrouplist</input>
16+
</stores>
1317
<newsletter_subject>
1418
<selector>input[name='subject']</selector>
1519
</newsletter_subject>

dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueSave.php renamed to dev/tests/functional/tests/app/Magento/Newsletter/Test/Constraint/AssertNewsletterQueueForm.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,16 @@
88

99
use Magento\Mtf\Constraint\AbstractAssertForm;
1010
use Magento\Newsletter\Test\Fixture\Queue;
11-
use Magento\Newsletter\Test\Fixture\Template;
1211
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueue;
1312
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueueIndex;
1413

1514
/**
16-
* Assert that "Newsletter Queue" saved correctly.
15+
* Assert that Newsletter Queue form data equal the fixture data.
1716
*/
18-
class AssertNewsletterQueueSave extends AbstractAssertForm
17+
class AssertNewsletterQueueForm extends AbstractAssertForm
1918
{
2019
/**
21-
* Assert that "Newsletter Queue" saved correctly.
20+
* Assert that Newsletter Queue form data equal the fixture data.
2221
*
2322
* @param TemplateQueueIndex $indexQueue
2423
* @param TemplateQueue $templateQueue
@@ -30,7 +29,7 @@ public function processAssert(
3029
TemplateQueue $templateQueue,
3130
Queue $queue
3231
) {
33-
$indexQueue->getMessagesBlock()->assertSuccessMessage();
32+
$indexQueue->open();
3433
$indexQueue->getQueueTemplateGrid()->searchAndOpen(['newsletter_subject' => $queue->getNewsletterSubject()]);
3534

3635
$dataDiff = $this->verifyData($queue->getData(), $templateQueue->getEditForm()->getData($queue));
@@ -42,6 +41,6 @@ public function processAssert(
4241
*/
4342
public function toString()
4443
{
45-
return '"Newsletter Queue" saved correctly';
44+
return 'Newsletter Queue form data equal the fixture data.';
4645
}
4746
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Newsletter\Test\Constraint;
8+
9+
use Magento\Mtf\Constraint\AbstractAssertForm;
10+
use Magento\Newsletter\Test\Fixture\Queue;
11+
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueueIndex;
12+
13+
/**
14+
* Assert that Newsletter Queue is present in grid.
15+
*/
16+
class AssertNewsletterQueueInGrid extends AbstractAssertForm
17+
{
18+
/**
19+
* Assert that Newsletter Queue is present in grid.
20+
*
21+
* @param TemplateQueueIndex $indexQueue
22+
* @param Queue $queue
23+
* @return void
24+
*/
25+
public function processAssert(
26+
TemplateQueueIndex $indexQueue,
27+
Queue $queue
28+
) {
29+
$indexQueue->open();
30+
$filter = [
31+
'newsletter_subject' => $queue->getNewsletterSubject(),
32+
];
33+
34+
\PHPUnit_Framework_Assert::assertTrue(
35+
$indexQueue->getQueueTemplateGrid()->isRowVisible($filter),
36+
'Newsletter Queue \'' . $queue->getNewsletterSubject() . '\' is absent in grid.'
37+
);
38+
}
39+
40+
/**
41+
* {@inheritdoc}
42+
*/
43+
public function toString()
44+
{
45+
return 'Newsletter Queue is present in grid.';
46+
}
47+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Newsletter\Test\Constraint;
8+
9+
use Magento\Mtf\Constraint\AbstractAssertForm;
10+
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueueIndex;
11+
12+
/**
13+
* Assert that Newsletter Queue success save message is present.
14+
*/
15+
class AssertNewsletterQueueSaveMessage extends AbstractAssertForm
16+
{
17+
/**
18+
* Text value to be checked.
19+
*/
20+
const SUCCESS_MESSAGE = 'You saved the newsletter queue.';
21+
22+
/**
23+
* Assert that Newsletter Queue success save message is present.
24+
*
25+
* @param TemplateQueueIndex $indexQueue
26+
* @return void
27+
*/
28+
public function processAssert(
29+
TemplateQueueIndex $indexQueue
30+
) {
31+
$actualMessages = $indexQueue->getMessagesBlock()->getSuccessMessages();
32+
\PHPUnit_Framework_Assert::assertContains(
33+
self::SUCCESS_MESSAGE,
34+
$actualMessages,
35+
'Wrong success message is displayed.'
36+
. "\nExpected: " . self::SUCCESS_MESSAGE
37+
. "\nActual:\n" . implode("\n - ", $actualMessages)
38+
);
39+
}
40+
41+
/**
42+
* {@inheritdoc}
43+
*/
44+
public function toString()
45+
{
46+
return 'Newsletter Queue success save message is present.';
47+
}
48+
}

dev/tests/functional/tests/app/Magento/Newsletter/Test/Fixture/Queue.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
<field name="newsletter_sender_name" is_required="" />
2525
<field name="newsletter_sender_email" is_required="" />
2626
<field name="queue_status" is_required="1" />
27-
<field name="queue_start_at" is_required="" />
28-
<field name="queue_finish_at" is_required="" />
27+
<field name="queue_start_at" is_required="" source="Magento\Backend\Test\Fixture\Source\Date" />
28+
<field name="queue_finish_at" is_required="" source="Magento\Backend\Test\Fixture\Source\Date" />
29+
<field name="stores" is_required="1" source="Magento\Newsletter\Test\Fixture\Queue\Stores"/>
2930
</fixture>
3031
</config>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Newsletter\Test\Fixture\Queue;
8+
9+
use Magento\Mtf\Fixture\DataSource;
10+
use Magento\Mtf\Fixture\FixtureFactory;
11+
12+
/**
13+
* Data source for 'stores' field.
14+
*
15+
* Data keys:
16+
* - dataset
17+
*/
18+
class Stores extends DataSource
19+
{
20+
/**
21+
* Array with store fixtures.
22+
*
23+
* @var array
24+
*/
25+
protected $stores;
26+
27+
/**
28+
* Create custom Store if we have block with custom store view.
29+
*
30+
* @constructor
31+
* @param FixtureFactory $fixtureFactory
32+
* @param array $params
33+
* @param array $data [optional]
34+
*/
35+
public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = [])
36+
{
37+
$this->params = $params;
38+
if (isset($data['dataset'])) {
39+
$datasets = is_array($data['dataset']) ? $data['dataset'] : [$data['dataset']];
40+
foreach ($datasets as $dataset) {
41+
/** @var \Magento\Store\Test\Fixture\Store $store */
42+
$store = $fixtureFactory->createByCode('store', ['dataset' => $dataset]);
43+
if (!$store->hasData('store_id')) {
44+
$store->persist();
45+
}
46+
$this->stores[] = $store;
47+
$this->data[] = $store->getGroupId() . '/' . $store->getName();
48+
}
49+
}
50+
}
51+
52+
/**
53+
* Return stores.
54+
*
55+
* @return array
56+
*/
57+
public function getStores()
58+
{
59+
return $this->stores;
60+
}
61+
}

dev/tests/functional/tests/app/Magento/Newsletter/Test/Repository/Queue.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,16 @@
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd">
99
<repository class="Magento\Newsletter\Test\Repository\Queue">
10-
<dataset name="default">
11-
<field name="queue_start_at" xsi:type="string">Aug 17, 2017 2:50:30 PM</field>
10+
<dataset name="default_with_stores">
11+
<field name="queue_start_at" xsi:type="array">
12+
<item name="pattern" xsi:type="string">M j, Y g:i:s A</item>
13+
</field>
14+
<field name="stores" xsi:type="array">
15+
<item name="dataset" xsi:type="array">
16+
<item name="0" xsi:type="string">default</item>
17+
<item name="1" xsi:type="string">custom</item>
18+
</item>
19+
</field>
1220
<field name="newsletter_subject" xsi:type="string">Newsletter Subject %isolation%</field>
1321
<field name="newsletter_sender_name" xsi:type="string">Sender Name %isolation%</field>
1422
<field name="newsletter_sender_email" xsi:type="string">support%isolation%@example.com</field>

dev/tests/functional/tests/app/Magento/Newsletter/Test/TestCase/UpdateQueueTest.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99
<testCase name="Magento\Newsletter\Test\TestCase\UpdateQueueTest" summary="Update Queue fields" ticketId="MAGETWO-71653">
1010
<variation name="UpdateQueueStartDateTestVariation1">
1111
<data name="newsletter/dataset" xsi:type="string">default</data>
12-
<data name="queue/dataset" xsi:type="string">default</data>
13-
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueSave" />
12+
<data name="queue/dataset" xsi:type="string">default_with_stores</data>
13+
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueSaveMessage" />
14+
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueInGrid" />
15+
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueForm" />
1416
</variation>
1517
</testCase>
1618
</config>

0 commit comments

Comments
 (0)