TestTransport::send()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
eloc 15
nc 1
nop 1
dl 0
loc 24
ccs 0
cts 21
cp 0
crap 2
rs 9.7666
c 2
b 0
f 0
1
<?php
2
3
namespace App\Mailer\Transport;
4
5
use Cake\Core\Configure;
6
use Cake\Mailer\AbstractTransport;
7
use Cake\Mailer\Message;
8
9
use function trim;
10
11
/**
12
 * Test environment Email Transport
13
 */
14
class TestTransport extends AbstractTransport
15
{
16
    /**
17
     * Send mail
18
     *
19
     * @param Message $message Email mesage.
20
     * @return array
21
     * @psalm-return array{headers: string, message: string}
22
     */
23
    public function send(Message $message): array
24
    {
25
        $headers = $message->getHeaders(
26
            [
27
                'from',
28
                'sender',
29
                'replyTo',
30
                'readReceipt',
31
                'returnPath',
32
                'to',
33
                'cc',
34
                'subject',
35
            ]
36
        );
37
38
        $message = trim($message->getBodyString());
39
        $result = [
40
            'headers' => $headers,
41
            'message' => $message,
42
        ];
43
44
        Configure::write('test_transport_email', $result);
45
46
        return $result;
47
    }
48
}
49