| Conditions | 3 |
| Paths | 3 |
| Total Lines | 86 |
| Code Lines | 69 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 44 | public function testSendWithEmail() |
||
| 45 | { |
||
| 46 | $config = [ |
||
| 47 | 'transport' => 'queue', |
||
| 48 | 'charset' => 'utf-8', |
||
| 49 | 'headerCharset' => 'utf-8' |
||
| 50 | ]; |
||
| 51 | |||
| 52 | $this->QueueTransport->setConfig($config); |
||
| 53 | $Email = new Email($config); |
||
| 54 | |||
| 55 | $Email->setFrom('[email protected]', 'CakePHP Test'); |
||
| 56 | $Email->setTo('[email protected]', 'CakePHP'); |
||
| 57 | $Email->setCc([ |
||
| 58 | '[email protected]' => 'Mark Story', |
||
| 59 | '[email protected]' => 'Juan Basso' |
||
| 60 | ]); |
||
| 61 | $Email->setBcc('[email protected]'); |
||
| 62 | $Email->setSubject('Testing Message'); |
||
| 63 | $Email->setAttachments([ |
||
| 64 | 'wow.txt' => [ |
||
| 65 | 'data' => 'much wow!', |
||
| 66 | 'mimetype' => 'text/plain', |
||
| 67 | 'contentId' => 'important' |
||
| 68 | ] |
||
| 69 | ]); |
||
| 70 | |||
| 71 | $Email->viewBuilder()->setLayout('test_layout'); |
||
| 72 | $Email->viewBuilder()->setTemplate('test_template'); |
||
| 73 | $Email->setSubject("L'utilisateur n'a pas pu être enregistré"); |
||
| 74 | $Email->setReplyTo('[email protected]'); |
||
| 75 | $Email->setReadReceipt('[email protected]'); |
||
| 76 | $Email->setReturnPath('[email protected]'); |
||
| 77 | $Email->setDomain('cakephp.org'); |
||
| 78 | $Email->viewBuilder()->setTheme('EuroTheme'); |
||
| 79 | $Email->setEmailFormat('both'); |
||
| 80 | $Email->set('var1', 1); |
||
| 81 | $Email->set('var2', 2); |
||
| 82 | |||
| 83 | $result = $this->QueueTransport->send($Email); |
||
| 84 | $this->assertSame('Email', $result['task']); |
||
| 85 | $this->assertTrue(strlen($result['data']) < 10000); |
||
| 86 | |||
| 87 | $output = unserialize($result['data']); |
||
| 88 | $emailReconstructed = new Email($config); |
||
| 89 | |||
| 90 | foreach ($output['settings'] as $method => $setting) { |
||
| 91 | $callable = $emailReconstructed; |
||
| 92 | if (in_array($method, [ |
||
| 93 | 'theme', |
||
| 94 | 'template', |
||
| 95 | 'layout' |
||
| 96 | ])) { |
||
| 97 | $callable = $callable->viewBuilder(); |
||
| 98 | } |
||
| 99 | $setter = 'set' . ucfirst($method); |
||
| 100 | call_user_func_array([ |
||
| 101 | $callable, |
||
| 102 | $setter |
||
| 103 | ], (array)$setting); |
||
| 104 | } |
||
| 105 | |||
| 106 | $this->assertEquals($emailReconstructed->getFrom(), $Email->getFrom()); |
||
| 107 | $this->assertEquals($emailReconstructed->getTo(), $Email->getTo()); |
||
| 108 | $this->assertEquals($emailReconstructed->getCc(), $Email->getCc()); |
||
| 109 | $this->assertEquals($emailReconstructed->getBcc(), $Email->getBcc()); |
||
| 110 | $this->assertEquals($emailReconstructed->getSubject(), $Email->getSubject()); |
||
| 111 | $this->assertEquals($emailReconstructed->getCharset(), $Email->getCharset()); |
||
| 112 | $this->assertEquals($emailReconstructed->getHeaderCharset(), $Email->getHeaderCharset()); |
||
| 113 | $this->assertEquals($emailReconstructed->getEmailFormat(), $Email->getEmailFormat()); |
||
| 114 | $this->assertEquals($emailReconstructed->getReplyTo(), $Email->getReplyTo()); |
||
| 115 | $this->assertEquals($emailReconstructed->getReadReceipt(), $Email->getReadReceipt()); |
||
| 116 | $this->assertEquals($emailReconstructed->getReturnPath(), $Email->getReturnPath()); |
||
| 117 | // $this->assertEquals($emailReconstructed->getMessageId(), $Email->getMessageId()); |
||
| 118 | $this->assertEquals($emailReconstructed->getDomain(), $Email->getDomain()); |
||
| 119 | $this->assertEquals($emailReconstructed->viewBuilder() |
||
| 120 | ->getTheme(), $Email->viewBuilder() |
||
| 121 | ->getTheme()); |
||
| 122 | $this->assertEquals($emailReconstructed->getProfile(), $Email->getProfile()); |
||
| 123 | $this->assertEquals($emailReconstructed->getViewVars(), $Email->getViewVars()); |
||
| 124 | $this->assertEquals($emailReconstructed->viewBuilder() |
||
| 125 | ->getTemplate(), $Email->viewBuilder() |
||
| 126 | ->getTemplate()); |
||
| 127 | $this->assertEquals($emailReconstructed->viewBuilder() |
||
| 128 | ->getLayout(), $Email->viewBuilder() |
||
| 129 | ->getLayout()); |
||
| 130 | } |
||
| 132 |