Issues (3877)

MailUserPasswordResetRequestStrategyPluginTest.php (1 issue)

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerTest\Zed\UserPasswordResetMail\Communication\UserPasswordReset;
9
10
use Codeception\Test\Unit;
11
use Generated\Shared\Transfer\UserPasswordResetRequestTransfer;
12
use Spryker\Zed\Mail\Business\MailFacadeInterface;
13
use Spryker\Zed\UserPasswordResetMail\Communication\Plugin\UserPasswordReset\MailUserPasswordResetRequestStrategyPlugin;
14
use Spryker\Zed\UserPasswordResetMail\Dependency\Facade\UserPasswordResetMailToMailFacadeBridge;
15
use Spryker\Zed\UserPasswordResetMail\UserPasswordResetMailDependencyProvider;
16
17
/**
18
 * Auto-generated group annotations
19
 *
20
 * @group SprykerTest
21
 * @group Zed
22
 * @group UserPasswordResetMail
23
 * @group Communication
24
 * @group UserPasswordReset
25
 * @group MailUserPasswordResetRequestStrategyPluginTest
26
 * Add your own group annotations below this line
27
 */
28
class MailUserPasswordResetRequestStrategyPluginTest extends Unit
29
{
30
    /**
31
     * @var \SprykerTest\Zed\UserPasswordResetMail\UserPasswordResetMailCommunicationTester
32
     */
33
    protected $tester;
34
35
    /**
36
     * @return void
37
     */
38
    public function testMailUserPasswordResetRequestStrategyPluginCallsMailFacade(): void
39
    {
40
        // Arrange
41
        $mailFacade = $this->createMailFacadeMock();
42
        $userTransfer = $this->tester->haveUser();
43
        $userPasswordResetRequestTransfer = (new UserPasswordResetRequestTransfer())
44
            ->setUser($userTransfer)
45
            ->setResetPasswordLink('');
46
        $mailUserPasswordResetPlugin = new MailUserPasswordResetRequestStrategyPlugin();
47
48
        // Assert
49
        $mailFacade->expects($this->once())
0 ignored issues
show
The method expects() does not exist on Spryker\Zed\Mail\Business\MailFacadeInterface. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

49
        $mailFacade->/** @scrutinizer ignore-call */ 
50
                     expects($this->once())

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
50
            ->method('handleMail');
51
52
        // Act
53
        $mailUserPasswordResetPlugin->handleUserPasswordResetRequest($userPasswordResetRequestTransfer);
54
    }
55
56
    /**
57
     * @return \Spryker\Zed\Mail\Business\MailFacadeInterface
58
     */
59
    protected function createMailFacadeMock(): MailFacadeInterface
60
    {
61
        /** @var \Spryker\Zed\Mail\Business\MailFacadeInterface $mailFacade */
62
        $mailFacade = $this->getMockBuilder(MailFacadeInterface::class)->getMock();
63
64
        $this->tester->setDependency(
65
            UserPasswordResetMailDependencyProvider::FACADE_MAIL,
66
            new UserPasswordResetMailToMailFacadeBridge($mailFacade),
67
        );
68
69
        return $mailFacade;
70
    }
71
}
72