Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      7 / 7  | 
      CRAP |         | 
      100.00%  | 
      12 / 12  | 
     
| OrderRetrieveResponse |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      7 / 7  | 
      8 |         | 
      100.00%  | 
      12 / 12  | 
     
| supports(PayURequestInterface $payURequest) |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| getOrders() |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| setOrders(array $orders) |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      2 / 2  | 
     |||
| getRequestStatus() |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| setRequestStatus($requestStatus) |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      2 / 2  | 
     |||
| getOrdersCount() |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      1 / 1  | 
     |||
| getFirstOrder() |         | 
      100.00%  | 
      1 / 1  | 
      2 |         | 
      100.00%  | 
      4 / 4  | 
     |||
| <?php | |
| /** | |
| * @author Krzysztof Gzocha <krzysztof.gzocha@xsolve.pl> | |
| */ | |
| namespace Team3\PayU\Communication\Response; | |
| use Team3\PayU\Communication\Request\OrderRetrieveRequest; | |
| use Team3\PayU\Communication\Request\PayURequestInterface; | |
| use Team3\PayU\Communication\Request\Model\RequestStatus; | |
| use Team3\PayU\Order\Model\OrderInterface; | |
| use JMS\Serializer\Annotation as JMS; | |
| /** | |
| * This class represents response from PayU when asked about order status. | |
| * It is related with {@link OrderRetrieveRequest} | |
| * | |
| * Class OrderRetrieveResponse | |
| * @package Team3\PayU\Communication\Response | |
| */ | |
| class OrderRetrieveResponse implements ResponseInterface | |
| { | |
| /** | |
| * @var OrderInterface[] | |
| * @JMS\Type("array<Team3\PayU\Order\Model\Order>") | |
| * @JMS\SerializedName("orders") | |
| */ | |
| private $orders; | |
| /** | |
| * @var RequestStatus | |
| * @JMS\Type("Team3\PayU\Communication\Request\Model\RequestStatus") | |
| * @JMS\SerializedName("status") | |
| */ | |
| private $requestStatus; | |
| /** | |
| * @param PayURequestInterface $payURequest | |
| * | |
| * @return bool | |
| */ | |
| public function supports(PayURequestInterface $payURequest) | |
| { | |
| return $payURequest instanceof OrderRetrieveRequest; | |
| } | |
| /** | |
| * @return OrderInterface[] | |
| */ | |
| public function getOrders() | |
| { | |
| return $this->orders; | |
| } | |
| /** | |
| * @param OrderInterface[] $orders | |
| * | |
| * @return OrderRetrieveResponse | |
| */ | |
| public function setOrders(array $orders) | |
| { | |
| $this->orders = $orders; | |
| return $this; | |
| } | |
| /** | |
| * @return RequestStatus | |
| */ | |
| public function getRequestStatus() | |
| { | |
| return $this->requestStatus; | |
| } | |
| /** | |
| * @param RequestStatus $requestStatus | |
| * | |
| * @return OrderRetrieveResponse | |
| */ | |
| public function setRequestStatus($requestStatus) | |
| { | |
| $this->requestStatus = $requestStatus; | |
| return $this; | |
| } | |
| /** | |
| * @return int | |
| */ | |
| public function getOrdersCount() | |
| { | |
| return count($this->orders); | |
| } | |
| /** | |
| * @return OrderInterface | |
| * @throws NoOrdersInResponseException | |
| */ | |
| public function getFirstOrder() | |
| { | |
| if (0 === $this->getOrdersCount()) { | |
| throw new NoOrdersInResponseException( | |
| 'There is no order in OrderRetrieveResponse.' | |
| ); | |
| } | |
| return $this->orders[0]; | |
| } | |
| } |