function it_should_be_transformed_to_an_array_with_internal_number(\DateTime $eventDate, DeliveryStatus $deliveryStatus) { $deliveryStatus->__toString()->willReturn('status'); $this->beConstructedWith('trackingNumber', $eventDate, $deliveryStatus, 'internalNumber'); $this->toArray()->shouldBeArray(); $this->toArray()->shouldHaveKey('trackingNumber'); $this->toArray()->shouldHaveKey('internalNumber'); $this->toArray()->shouldHaveKey('eventDate'); $this->toArray()->shouldHaveKey('status'); $this->toArray()['trackingNumber']->shouldBeString('trackingNumber'); $this->toArray()['trackingNumber']->shouldEqual('trackingNumber'); $this->toArray()['internalNumber']->shouldBeString(); $this->toArray()['internalNumber']->shouldEqual('internalNumber'); $this->toArray()['eventDate']->shouldHaveType('\\DateTime'); $this->toArray()['eventDate']->shouldEqual($eventDate); $this->toArray()['status']->shouldBeString(); $this->toArray()['status']->shouldEqual('status'); }
/** * @param string $code * * @return null | DeliveryStatus */ protected function getStateFromCode($code) { switch ($code) { case 'D': case 'D1': case 'D2': case 'RG': case 'DD': case 'B': case 'U': case 'VC': case 'RI': case 'RR': $state = DeliveryStatus::stateDelivered(); break; default: $state = DeliveryStatus::stateInProgress(); break; } return $state; }