public void Deliver_ValidPost_ReturnsRedirect()
        {
            var computerDataService = new Mock<IDataService<Computer>>();
            computerDataService.Setup(c => c.SelectOne(It.IsAny<Expression<Func<Computer, bool>>>()))
                .Returns(new Computer());

            var recipientDataServiceMock = new Mock<IDataService<Recipient>>();
            recipientDataServiceMock.Setup(r => r.SelectAll(It.IsAny<Expression<Func<Recipient, bool>>>(),
                It.IsAny<Expression<Func<Recipient, object>>>(), 0, 100))
                .Returns(new List<Recipient>());

            var controller = new ComputerController(computerDataService.Object,
                                                      new Mock<IFormsAuthenticationService>().Object,
                                                      new Mock<IDataService<WindowsLicense>>().Object,
                                                      new Mock<IDataService<Volunteer>>().Object,
                                                      recipientDataServiceMock.Object);

            var result = controller.Deliver(new DeliverComputerViewModel());

            Assert.IsInstanceOf<RedirectToRouteResult>(result);
        }
        public void Deliver_ReturnsView()
        {
            var computerDataServiceMock = new Mock<IDataService<Computer>>();
            computerDataServiceMock.Setup(c => c.SelectOne(It.IsAny<Expression<Func<Computer, bool>>>()))
                .Returns(new Computer());

            var recipientDataServiceMock = new Mock<IDataService<Recipient>>();
            recipientDataServiceMock.Setup(r => r.SelectAll(It.IsAny<Expression<Func<Recipient, bool>>>(),
                It.IsAny<Expression<Func<Recipient, object>>>(), 0, 100))
                .Returns(new List<Recipient>());

            var controller = new ComputerController(computerDataServiceMock.Object,
                                                    new Mock<IFormsAuthenticationService>().Object,
                                                    new Mock<IDataService<WindowsLicense>>().Object,
                                                    new Mock<IDataService<Volunteer>>().Object,
                                                    recipientDataServiceMock.Object);

            ActionResult result = controller.Deliver(Guid.NewGuid());

            Assert.IsInstanceOf<ViewResult>(result);

            var view = (ViewResult) result;

            Assert.IsInstanceOf<DeliverComputerViewModel>(view.Model);
        }