Skip to content

Commit 128df13

Browse files
committed
MAGETWO-82530: Redirect fix when Unsubscribe execute
1 parent fc2f1da commit 128df13

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Newsletter\Controller;
8+
9+
use Magento\TestFramework\TestCase\AbstractController;
10+
11+
/**
12+
* Test Unsubscriber controller
13+
*
14+
* @magentoDataFixture Magento/Newsletter/_files/subscribers.php
15+
* @magentoAppArea frontend
16+
*/
17+
class UnSubscriberTest extends AbstractController
18+
{
19+
20+
/**
21+
* @var Subscriber
22+
*/
23+
private $model;
24+
25+
protected function setUp()
26+
{
27+
$this->model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
28+
\Magento\Newsletter\Model\Subscriber::class
29+
);
30+
parent::setUp();
31+
}
32+
33+
/**
34+
* @return void
35+
*/
36+
public function testSuccessUnsubscribeSubscribedUser()
37+
{
38+
$subscriber = $this->model->loadByCustomerId(1);
39+
$this->getRequest()
40+
->setParam('id', $subscriber->getId())
41+
->setParam('code', 'zxayquyajua23iq29gxwu2eax2qb6gvy');
42+
43+
$this->dispatch('newsletter/subscriber/unsubscribe');
44+
45+
$this->assertSessionMessages($this->equalTo(['You unsubscribed.']));
46+
$this->assertRedirect($this->anything());
47+
}
48+
49+
/**
50+
* @return void
51+
*/
52+
public function testFailureUnsubscribeSubscribedUser()
53+
{
54+
$subscriber = $this->model->loadByCustomerId(1);
55+
$this->getRequest()
56+
->setParam('id', $subscriber->getId())
57+
->setParam('code', 'randomcode');
58+
59+
$this->dispatch('newsletter/subscriber/unsubscribe');
60+
61+
$this->assertSessionMessages($this->equalTo(['This is an invalid subscription confirmation code.']));
62+
$this->assertRedirect($this->anything());
63+
}
64+
}

dev/tests/integration/testsuite/Magento/Newsletter/_files/subscribers.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
$subscriber->setStoreId($currentStore)
2323
->setCustomerId(1)
2424
->setSubscriberEmail('customer@example.com')
25+
->setSubscriberConfirmCode('zxayquyajua23iq29gxwu2eax2qb6gvy')
2526
->setSubscriberStatus(\Magento\Newsletter\Model\Subscriber::STATUS_SUBSCRIBED)
2627
->save();
2728
$firstSubscriberId = $subscriber->getId();

0 commit comments

Comments
 (0)