Skip to content

Commit

Permalink
MAGETWO-56349: [GITHUB] Newsletter Queue doesn't set to local time #5943
Browse files Browse the repository at this point in the history
  • Loading branch information
serhii-balko committed Aug 25, 2017
1 parent 29eb476 commit 106513f
Show file tree
Hide file tree
Showing 8 changed files with 182 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
<queue_start_at>
<selector>input[name='start_at']</selector>
</queue_start_at>
<stores>
<selector>select[name="stores[]"]</selector>
<input>multiselectgrouplist</input>
</stores>
<newsletter_subject>
<selector>input[name='subject']</selector>
</newsletter_subject>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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));
Expand All @@ -42,6 +41,6 @@ public function processAssert(
*/
public function toString()
{
return '"Newsletter Queue" saved correctly';
return 'Newsletter Queue form data equal the fixture data.';
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Newsletter\Test\Constraint;

use Magento\Mtf\Constraint\AbstractAssertForm;
use Magento\Newsletter\Test\Fixture\Queue;
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueueIndex;

/**
* Assert that Newsletter Queue is present in grid.
*/
class AssertNewsletterQueueInGrid extends AbstractAssertForm
{
/**
* Assert that Newsletter Queue is present in grid.
*
* @param TemplateQueueIndex $indexQueue
* @param Queue $queue
* @return void
*/
public function processAssert(
TemplateQueueIndex $indexQueue,
Queue $queue
) {
$indexQueue->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.';
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Newsletter\Test\Constraint;

use Magento\Mtf\Constraint\AbstractAssertForm;
use Magento\Newsletter\Test\Page\Adminhtml\TemplateQueueIndex;

/**
* Assert that Newsletter Queue success save message is present.
*/
class AssertNewsletterQueueSaveMessage extends AbstractAssertForm
{
/**
* Text value to be checked.
*/
const SUCCESS_MESSAGE = 'You saved the newsletter queue.';

/**
* Assert that Newsletter Queue success save message is present.
*
* @param TemplateQueueIndex $indexQueue
* @return void
*/
public function processAssert(
TemplateQueueIndex $indexQueue
) {
$actualMessages = $indexQueue->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.';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
<field name="newsletter_sender_name" is_required="" />
<field name="newsletter_sender_email" is_required="" />
<field name="queue_status" is_required="1" />
<field name="queue_start_at" is_required="" />
<field name="queue_finish_at" is_required="" />
<field name="queue_start_at" is_required="" source="Magento\Backend\Test\Fixture\Source\Date" />
<field name="queue_finish_at" is_required="" source="Magento\Backend\Test\Fixture\Source\Date" />
<field name="stores" is_required="1" source="Magento\Newsletter\Test\Fixture\Queue\Stores"/>
</fixture>
</config>
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Newsletter\Test\Fixture\Queue;

use Magento\Mtf\Fixture\DataSource;
use Magento\Mtf\Fixture\FixtureFactory;

/**
* Data source for 'stores' field.
*
* Data keys:
* - dataset
*/
class Stores extends DataSource
{
/**
* Array with store fixtures.
*
* @var array
*/
protected $stores;

/**
* Create custom Store if we have block with custom store view.
*
* @constructor
* @param FixtureFactory $fixtureFactory
* @param array $params
* @param array $data [optional]
*/
public function __construct(FixtureFactory $fixtureFactory, array $params, array $data = [])
{
$this->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;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,16 @@
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/mtf/Magento/Mtf/Repository/etc/repository.xsd">
<repository class="Magento\Newsletter\Test\Repository\Queue">
<dataset name="default">
<field name="queue_start_at" xsi:type="string">Aug 17, 2017 2:50:30 PM</field>
<dataset name="default_with_stores">
<field name="queue_start_at" xsi:type="array">
<item name="pattern" xsi:type="string">M j, Y g:i:s A</item>
</field>
<field name="stores" xsi:type="array">
<item name="dataset" xsi:type="array">
<item name="0" xsi:type="string">default</item>
<item name="1" xsi:type="string">custom</item>
</item>
</field>
<field name="newsletter_subject" xsi:type="string">Newsletter Subject %isolation%</field>
<field name="newsletter_sender_name" xsi:type="string">Sender Name %isolation%</field>
<field name="newsletter_sender_email" xsi:type="string">support%isolation%@example.com</field>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@
<testCase name="Magento\Newsletter\Test\TestCase\UpdateQueueTest" summary="Update Queue fields" ticketId="MAGETWO-71653">
<variation name="UpdateQueueStartDateTestVariation1">
<data name="newsletter/dataset" xsi:type="string">default</data>
<data name="queue/dataset" xsi:type="string">default</data>
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueSave" />
<data name="queue/dataset" xsi:type="string">default_with_stores</data>
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueSaveMessage" />
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueInGrid" />
<constraint name="Magento\Newsletter\Test\Constraint\AssertNewsletterQueueForm" />
</variation>
</testCase>
</config>

0 comments on commit 106513f

Please sign in to comment.