public void GetDeliveryPersonByIdShouldReturnNotFoundIfServiceReturnsNull()
        {
            // Arrange
            var mock   = new Mock <IDeliveryPersonService>();
            var mockId = Guid.NewGuid();

            mock.Setup <DeliveryPersonViewModel>(_ => _.Get(mockId))
            .Returns <DeliveryPersonViewModel>(null);
            Service    = mock.Object;
            Controller = new DeliveryPersonsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.Get(mockId);

            // Assert
            Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode);
        }
        public void GetDeliveryPersonByIdShouldReturnOkAndTheSameViewModelIfServiceReturnsData()
        {
            // Arrange
            var mock         = new Mock <IDeliveryPersonService>();
            var mockId       = Guid.NewGuid();
            var mockCustomer = Builder <DeliveryPersonViewModel> .CreateNew().Build();

            mock.Setup <DeliveryPersonViewModel>(_ => _.Get(mockId))
            .Returns(mockCustomer);
            Service    = mock.Object;
            Controller = new DeliveryPersonsController(Service);
            Controller.Configuration = new HttpConfiguration();
            Controller.Request       = new HttpRequestMessage();

            // Act
            var result = Controller.Get(mockId);
            DeliveryPersonViewModel content;

            result.TryGetContentValue <DeliveryPersonViewModel>(out content);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            Assert.AreEqual(mockCustomer, content);
        }