23 private $customerSessionMock;
33 private $resultPageFactoryMock;
38 private $customerUrlMock;
47 $this->customerSessionMock = $this->getMockBuilder(\
Magento\Customer\Model\Session::class)
48 ->disableOriginalConstructor()
49 ->setMethods([
'isLoggedIn'])
51 $this->contextMock = $this->getMockBuilder(\
Magento\Framework\
App\Action\Context::class)
52 ->disableOriginalConstructor()
53 ->setMethods([
'getRequest'])
55 $this->requestMock = $this->getMockBuilder(Http::class)
56 ->disableOriginalConstructor()
57 ->setMethods([
'getPost',
'getParam'])
59 $this->contextMock->expects($this->any())
60 ->method(
'getRequest')
61 ->willReturn($this->requestMock);
63 $this->resultPageFactoryMock = $this->getMockBuilder(\
Magento\Framework\View\Result\PageFactory::class)
64 ->disableOriginalConstructor()
65 ->setMethods([
'create'])
67 $this->customerUrlMock = $this->getMockBuilder(\
Magento\Customer\Model\Url::class)
68 ->disableOriginalConstructor()
69 ->setMethods([
'getLoginUrl'])
71 $this->model = (
new ObjectManagerHelper($this))->getObject(
74 'context' => $this->contextMock,
75 'customerSession' => $this->customerSessionMock,
76 'resultPageFactory' => $this->resultPageFactoryMock,
77 'customerUrl' => $this->customerUrlMock,
84 $this->customerSessionMock->expects($this->once())
85 ->method(
'isLoggedIn')
88 $this->requestMock->expects($this->once())->method(
'getPost')->with(
'email')->willReturn(
null);
90 $resultPageMock = $this->getMockBuilder(\
Magento\Framework\View\Result\Page::class)
91 ->disableOriginalConstructor()
92 ->setMethods([
'getLayout'])
95 $this->resultPageFactoryMock->expects($this->once())->method(
'create')->willReturn($resultPageMock);
97 $layoutMock = $this->getMockBuilder(\
Magento\Framework\View\Layout::class)
98 ->disableOriginalConstructor()
99 ->setMethods([
'getBlock'])
102 $resultPageMock->expects($this->once())->method(
'getLayout')->willReturn($layoutMock);
104 $blockMock = $this->getMockBuilder(\
Magento\Framework\View\Element\Template::class)
105 ->disableOriginalConstructor()
106 ->setMethods([
'setEmail',
'setLoginUrl'])
109 $layoutMock->expects($this->once())->method(
'getBlock')->with(
'accountConfirmation')->willReturn($blockMock);
111 $blockMock->expects($this->once())->method(
'setEmail')->willReturnSelf();
112 $blockMock->expects($this->once())->method(
'setLoginUrl')->willReturnSelf();
114 $this->model->execute();