18 use Psr\Log\LoggerInterface;
26 private $notificationStorageMock;
29 private $customerRepositoryMock;
32 private $appStateMock;
38 private $abstractActionMock;
47 private static $customerId = 1;
51 $this->sessionMock = $this->getMockBuilder(Session::class)
52 ->disableOriginalConstructor()
53 ->setMethods([
'getCustomerId',
'setCustomerData',
'setCustomerGroupId',
'regenerateId'])
55 $this->notificationStorageMock = $this->getMockBuilder(NotificationStorage::class)
56 ->disableOriginalConstructor()
57 ->setMethods([
'isExists',
'remove'])
59 $this->customerRepositoryMock = $this->getMockBuilder(CustomerRepositoryInterface::class)
60 ->getMockForAbstractClass();
61 $this->abstractActionMock = $this->getMockBuilder(AbstractAction::class)
62 ->disableOriginalConstructor()
63 ->getMockForAbstractClass();
64 $this->requestMock = $this->getMockBuilder(RequestInterface::class)
65 ->setMethods([
'isPost'])
66 ->getMockForAbstractClass();
67 $this->appStateMock = $this->getMockBuilder(State::class)
68 ->disableOriginalConstructor()
69 ->setMethods([
'getAreaCode'])
72 $this->loggerMock = $this->getMockForAbstractClass(LoggerInterface::class);
74 $this->requestMock->method(
'isPost')->willReturn(
true);
76 $this->notificationStorageMock->expects($this->any())
83 $this->notificationStorageMock,
85 $this->customerRepositoryMock,
94 $customerMock = $this->getMockForAbstractClass(CustomerInterface::class);
95 $customerMock->method(
'getGroupId')->willReturn($customerGroupId);
98 $this->customerRepositoryMock->expects($this->once())
101 ->willReturn($customerMock);
102 $this->notificationStorageMock->expects($this->once())
106 $this->sessionMock->expects($this->once())->method(
'setCustomerData')->with($customerMock);
107 $this->sessionMock->expects($this->once())->method(
'setCustomerGroupId')->with($customerGroupId);
108 $this->sessionMock->expects($this->once())->method(
'regenerateId');
110 $this->plugin->beforeDispatch($this->abstractActionMock, $this->requestMock);
115 $this->customerRepositoryMock->method(
'getById')
118 $this->loggerMock->expects($this->once())
121 $this->plugin->beforeDispatch($this->abstractActionMock, $this->requestMock);
testBeforeDispatchWithNoCustomerFound()
const UPDATE_CUSTOMER_SESSION