示例#1
0
 /**
  * @test
  */
 public function testHandleWithParsingErrorWithoutMessage()
 {
     $userId = $this->getApplicationUserId(42);
     $userName = '******';
     $user = \Mockery::mock(ParsingUser::class, function ($user) use($userId, $userName) {
         $user->shouldReceive('getId')->andReturn($userId);
         $user->shouldReceive('getName')->andReturn($userName);
         $user->shouldReceive('getAccount')->andReturn(\Mockery::mock(Account::class));
     });
     $message = new \stdClass();
     $exception = \Mockery::mock('\\MessageApp\\Parser\\Exception\\MessageParserException');
     $exception->shouldReceive('getUser')->andReturn($user);
     $parser = \Mockery::mock('\\MessageApp\\Parser\\MessageParser');
     $parser->shouldReceive('parse')->andThrow($exception);
     $this->logger->shouldReceive('info')->twice();
     $this->logger->shouldReceive('error')->once();
     $this->logger->shouldReceive('warning')->once();
     $this->messageSender->shouldReceive('send')->never();
     $this->factory->shouldReceive('buildMessage')->with(\Mockery::on(function ($users) {
         $this->assertCount(1, $users);
         $this->assertInstanceOf(UndefinedApplicationUser::class, $users[0]);
         return true;
     }), $exception)->andReturn(null);
     $hangmanApp = new MessageApplication($this->messageSender, $parser, $this->factory, $this->getCommandBus());
     $hangmanApp->setLogger($this->logger);
     $hangmanApp->handle($message);
 }
 private function givenTheMessageCanNotBeBuilt()
 {
     $this->factory->shouldReceive('buildMessage')->with([$this->user], $this->event)->andReturn(null);
 }