예제 #1
0
 /**
  * @covers       DmMailer\InputFilter\Template
  * @dataProvider inputDataProvider
  *
  * @param mixed  $nameData
  * @param array  $expectedMessages
  * @param string $inputName
  */
 public function testCampaignValidation($nameData, array $expectedMessages, $inputName)
 {
     $this->sut->setData([$inputName => $nameData]);
     $this->sut->isValid();
     $actualMessages = $this->sut->getMessages();
     $this->assertInternalType('array', $actualMessages);
     if ($expectedMessages) {
         $this->assertArrayHasKey($inputName, $actualMessages);
         $this->assertInternalType('array', $actualMessages[$inputName]);
         $message = 'Found message keys: ' . implode(', ', array_keys($actualMessages[$inputName]));
         foreach ($expectedMessages as $expectedMessage) {
             $this->assertArrayHasKey($expectedMessage, $actualMessages[$inputName], $message);
         }
     } else {
         $message = '';
         if (isset($actualMessages[$inputName])) {
             $message = 'Found message keys: ' . implode(', ', array_keys($actualMessages[$inputName]));
         }
         $this->assertArrayNotHasKey($inputName, $actualMessages, $message);
     }
 }