/** * Ensure that fixture customer and his addresses are deleted. */ protected function tearDown() { /** @var \Magento\Framework\Registry $registry */ $registry = Bootstrap::getObjectManager()->get('Magento\\Framework\\Registry'); $registry->unregister('isSecureArea'); $registry->register('isSecureArea', true); try { $fixtureFirstAddressId = 1; $this->addressRepository->deleteById($fixtureFirstAddressId); } catch (\Magento\Framework\Exception\NoSuchEntityException $e) { /** First address fixture was not used */ } try { $fixtureSecondAddressId = 2; $this->addressRepository->deleteById($fixtureSecondAddressId); } catch (\Magento\Framework\Exception\NoSuchEntityException $e) { /** Second address fixture was not used */ } try { $fixtureCustomerId = 1; $this->customerRepository->deleteById($fixtureCustomerId); } catch (\Magento\Framework\Exception\NoSuchEntityException $e) { /** Customer fixture was not used */ } $registry->unregister('isSecureArea'); $registry->register('isSecureArea', false); parent::tearDown(); }
/** * @param AbstractCollection $collection * @return \Magento\Backend\Model\View\Result\Redirect */ protected function massAction(AbstractCollection $collection) { $customersDeleted = 0; foreach ($collection->getAllIds() as $customerId) { $this->customerRepository->deleteById($customerId); $customersDeleted++; } if ($customersDeleted) { $this->messageManager->addSuccess(__('A total of %1 record(s) were deleted.', $customersDeleted)); } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); $resultRedirect->setPath($this->getComponentRefererUrl()); return $resultRedirect; }
/** * @magentoAppArea adminhtml * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoAppIsolation enabled */ public function testDeleteById() { $fixtureCustomerEmail = '*****@*****.**'; $fixtureCustomerId = 1; $this->customerRepository->deleteById($fixtureCustomerId); /** Ensure that customer was deleted */ $this->setExpectedException('Magento\\Framework\\Exception\\NoSuchEntityException', 'No such entity with email = customer@example.com, websiteId = 1'); $this->customerRepository->get($fixtureCustomerEmail); }
/** * @magentoAppArea adminhtml * @magentoDataFixture Magento/Newsletter/_files/subscribers.php */ public function testCustomerDeletedByIdAdminArea() { $objectManager = Bootstrap::getObjectManager(); /** @var \Magento\Newsletter\Model\Subscriber $subscriber */ $subscriber = $objectManager->create('Magento\\Newsletter\\Model\\Subscriber'); $subscriber->loadByEmail('*****@*****.**'); $this->assertTrue($subscriber->isSubscribed()); $this->customerRepository->deleteById(1); $this->verifySubscriptionNotExist('*****@*****.**'); }