示例#1
0
 public function testGetTimeout()
 {
     $date = new \DateTime();
     $event = $this->getMockBuilder('\\StateMachine\\EventInterface')->disableOriginalConstructor()->getMock();
     $event->expects($this->any())->method('getName')->willReturn(Process::ON_TIME_OUT);
     $event->expects($this->any())->method('timeoutAt')->willReturn($date);
     $this->state->expects($this->any())->method('__toString')->willReturn('stateName');
     $this->state->expects($this->any())->method('getName')->willReturn('stateName');
     $this->state->expects($this->any())->method('getEvent')->willReturn($event);
     $this->payload->expects($this->any())->method('getState')->willReturn('stateName');
     $this->payload->expects($this->any())->method('getIdentifier')->willReturn('identifier');
     $process = new Process('processName', '\\stdClass', 'stateName', [$this->state]);
     $timeout = $process->getTimeout($this->payload, $date);
     $this->assertInstanceOf('\\StateMachine\\PayloadTimeout', $timeout);
     $this->assertEquals('stateName', $timeout->getState());
     $this->assertEquals(Process::ON_TIME_OUT, $timeout->getEvent());
     $this->assertEquals('identifier', $timeout->getIdentifier());
     $this->assertEquals($date, $timeout->getExecutionDate());
 }