1+ <?php
2+ /**
3+ * Copyright © Magento, Inc. All rights reserved.
4+ * See COPYING.txt for license details.
5+ */
6+
7+ namespace Magento \Customer \Controller \Adminhtml \Index ;
8+
9+ use Magento \TestFramework \TestCase \AbstractBackendController ;
10+ use Magento \TestFramework \Helper \Bootstrap ;
11+ use Magento \Newsletter \Model \SubscriberFactory ;
12+ use Magento \Backend \Model \Session ;
13+ use Magento \Framework \Data \Form \FormKey ;
14+
15+ /**
16+ * Class MassUnsubscribeTest
17+ * @package Magento\Customer\Controller\Adminhtml\Index
18+ */
19+ class MassUnsubscribeTest extends AbstractBackendController
20+ {
21+ /**
22+ * Base controller URL
23+ *
24+ * @var string
25+ */
26+ protected $ baseControllerUrl = 'http://localhost/index.php/backend/customer/index/index ' ;
27+
28+ protected function tearDown ()
29+ {
30+ /**
31+ * Unset customer data
32+ */
33+ Bootstrap::getObjectManager ()->get (Session::class)->setCustomerData (null );
34+
35+ /**
36+ * Unset messages
37+ */
38+ Bootstrap::getObjectManager ()->get (Session::class)->getMessages (true );
39+ }
40+
41+ /**
42+ * @magentoDataFixture Magento/Customer/_files/two_customers.php
43+ */
44+ public function testMassUnsubscribAction ()
45+ {
46+ $ subscriberFactory = Bootstrap::getObjectManager ()->get (SubscriberFactory::class);
47+ $ formKey = $ this ->_objectManager ->get (FormKey::class);
48+ $ this ->assertNull ($ subscriberFactory ->create ()->loadByCustomerId (1 )->getSubscriberStatus ());
49+ $ this ->assertNull ($ subscriberFactory ->create ()->loadByCustomerId (2 )->getSubscriberStatus ());
50+
51+ $ this ->getRequest ()->setParams (
52+ [
53+ 'selected ' => [1 , 2 ],
54+ 'namespace ' => 'customer_listing ' ,
55+ 'form_key ' => $ formKey ->getFormKey ()
56+ ]
57+ )
58+ ->setMethod ('POST ' );
59+ $ this ->dispatch ('backend/customer/index/massUnsubscribe ' );
60+
61+ $ this ->assertRedirect ($ this ->stringStartsWith ($ this ->baseControllerUrl ));
62+ $ this ->assertSessionMessages (
63+ $ this ->equalTo (['A total of 2 record(s) were updated. ' ]),
64+ \Magento \Framework \Message \MessageInterface::TYPE_SUCCESS
65+ );
66+ }
67+
68+
69+ }
0 commit comments