public async Task Should_return_NotFound_when_delivery_id_does_not_exist()
        {
            var delivery = new Domain.Models.Delivery();

            this._service.Setup(s => s.GetByIdAsync(delivery.Id)).ReturnsAsync(() => null);

            var subject = this.CreateSubject();

            var result = await subject.Get(delivery.Id);

            var value = ActionResultHelper.GetObject <ErrorDetail>(result);

            value.ErrorCode.ShouldBe("delivery_not_found");
            result.ShouldBeOfType <NotFoundObjectResult>();
        }
        public async Task Should_return_Ok_when_delivery_id_exist()
        {
            var delivery = new Domain.Models.Delivery {
                State = State.cancelled
            };

            _service.Setup(s => s.GetByIdAsync(delivery.Id)).ReturnsAsync(() => delivery);

            var subject = this.CreateSubject();

            var result = await subject.Get(delivery.Id);

            result.ShouldBeOfType <OkObjectResult>();
            var value = ActionResultHelper.GetObject <Domain.Models.Delivery>(result);

            value.Id.ShouldBe(delivery.Id);
            value.State.ShouldBe(delivery.State);
        }