Code Duplication    Length = 38-38 lines in 2 locations

tests/Queue/Cli/MailMessageWorkerTest.php 2 locations

@@ 52-89 (lines=38) @@
49
        $this->assertEquals($failedRecipientsResponse, null);
50
    }
51
52
    public function testRunMethodOnFailure()
53
    {
54
        $swift = new Swift_Message();
55
        $mockedMailMessage = Mockery::mock(MailMessage::class);
56
57
        $mockedMailMessage
58
            ->shouldReceive('asSwiftMessage')
59
            ->once()
60
            ->andReturn($swift);
61
62
        $mockedMailMessage->to = '[email protected]';
63
64
        $mockedMailer = Mockery::mock( Mailer::class);
65
66
        $mockedMailer
67
            ->shouldReceive('sendSwiftMessage')
68
            ->once()
69
            ->with($swift)
70
            ->andReturn(['[email protected]']);
71
72
        $mailMessageWorker = new MailMessageWorker($mockedMailer, $mockedMailMessage);
73
        $eventResponse = null;
74
        $failedRecipientsResponse = 0;
75
76
        $handler = function(Event $event) use (&$eventResponse, &$failedRecipientsResponse){
77
            $data = $event->getData();
78
            $eventResponse = $data[0];
79
            $failedRecipientsResponse = $data[1];
80
        };
81
        $onSuccessEvent = new Event($handler);
82
83
        $mailMessageWorker->attach('onFailure', $onSuccessEvent);
84
85
        $mailMessageWorker->run();
86
87
        $this->assertEquals($eventResponse, $mockedMailMessage);
88
        $this->assertEquals($failedRecipientsResponse, ['[email protected]']);
89
    }
90
91
    public function testRunMethodOnFailureDueToException()
92
    {
@@ 91-128 (lines=38) @@
88
        $this->assertEquals($failedRecipientsResponse, ['[email protected]']);
89
    }
90
91
    public function testRunMethodOnFailureDueToException()
92
    {
93
        $swift = new Swift_Message();
94
        $mockedMailMessage = Mockery::mock(MailMessage::class);
95
96
        $mockedMailMessage
97
            ->shouldReceive('asSwiftMessage')
98
            ->once()
99
            ->andReturn($swift);
100
101
        $mockedMailMessage->to = '[email protected]';
102
103
        $mockedMailer = Mockery::mock( Mailer::class);
104
105
        $mockedMailer
106
            ->shouldReceive('sendSwiftMessage')
107
            ->once()
108
            ->with($swift)
109
            ->andThrow('Exception');
110
111
        $mailMessageWorker = new MailMessageWorker($mockedMailer, $mockedMailMessage);
112
        $eventResponse = null;
113
        $failedRecipientsResponse = 0;
114
115
        $handler = function(Event $event) use (&$eventResponse, &$failedRecipientsResponse){
116
            $data = $event->getData();
117
            $eventResponse = $data[0];
118
            $failedRecipientsResponse = $data[1];
119
        };
120
        $onSuccessEvent = new Event($handler);
121
122
        $mailMessageWorker->attach('onFailure', $onSuccessEvent);
123
124
        $mailMessageWorker->run();
125
126
        $this->assertEquals($eventResponse, $mockedMailMessage);
127
        $this->assertEquals($failedRecipientsResponse, ['[email protected]']);
128
    }
129
}
130