Esempio n. 1
0
 /**
  * @test
  */
 public function ensureSendResponseHandlingForMessageResponse()
 {
     /** @var Payload $payload */
     $payload = new Payload(['text' => 'test message', 'channel' => '#fntest']);
     /** @var RealTimeClient $client */
     $client = $this->prophesize(RealTimeClient::class);
     /* @noinspection PhpParamsInspection */
     $client->postMessage(Argument::any())->willReturn(true);
     $message = new Message(['icon_emoji' => 'foo']);
     $attachment = new Message\Attachment(['title' => 'Test']);
     $attachment->setTitle('Test');
     $attachment->setTitleLink('http://www.google.de');
     $attachment->setText('Test');
     $attachment->setFallback('Test');
     $attachment->setAuthorName('Test');
     $attachment->setAuthorLink('http://www.google.de');
     $attachment->setAuthorIcon('foo');
     $attachment->setImageUrl('http://www.google.de');
     $attachment->setThumbUrl('http://www.google.de');
     $message->setText('Test');
     $message->addAttachment($attachment);
     /** @var AbstractCommand $stub */
     $stub = $this->getMockForAbstractClass(AbstractCommand::class, [$payload, $client->reveal()]);
     $stub->sendResponse($message);
     static::assertEquals('foo', $message->getIconEmoji());
     $message->setIconEmoji('bar');
     static::assertEquals('bar', $message->getIconEmoji());
     $message->setAttachments([$attachment]);
     static::assertEquals([$attachment], $message->getAttachments());
 }
Esempio n. 2
0
 /**
  * build a review message.
  *
  * @param \stdClass $item the review item
  *
  * @return Message
  */
 protected function buildReviewMessage($item)
 {
     $created = substr($item->created, 0, 19);
     $branch = $item->branch;
     $text = '';
     $message = new Message();
     $attachment = new Message\Attachment();
     switch ($GLOBALS['config']['projectPhase']) {
         case self::PROJECT_PHASE_STABILISATION:
             $attachment->setColor(Message\Attachment::COLOR_WARNING);
             $attachment->setPretext(':warning: *stabilisation phase*');
             break;
         case self::PROJECT_PHASE_SOFT_FREEZE:
             $attachment->setColor(Message\Attachment::COLOR_DANGER);
             $attachment->setPretext(':no_entry: *soft merge freeze*');
             break;
         case self::PROJECT_PHASE_CODE_FREEZE:
             $attachment->setColor(Message\Attachment::COLOR_DANGER);
             $attachment->setPretext(':no_entry: *merge freeze*');
             break;
         case self::PROJECT_PHASE_FEATURE_FREEZE:
             $attachment->setColor(Message\Attachment::COLOR_DANGER);
             $attachment->setPretext(':no_entry: *FEATURE FREEZE*');
             break;
         case self::PROJECT_PHASE_DEVELOPMENT:
         default:
             $attachment->setColor(Message\Attachment::COLOR_NOTICE);
             break;
     }
     $attachment->setTitle($item->subject);
     $attachment->setTitleLink('https://review.typo3.org/' . $item->_number);
     $text .= 'Branch: ' . $this->bold($branch) . ' | :calendar: ' . $this->bold($created) . ' | ID: ' . $this->bold($item->_number) . "\n";
     $text .= '<https://review.typo3.org/' . $item->_number . '|:arrow_right: Goto Review>';
     $attachment->setText($text);
     $attachment->setFallback($text);
     $message->setText(' ');
     $message->addAttachment($attachment);
     return $message;
 }