예제 #1
0
        public void Should_Return_Patrondetails_When_Detail_Called()
        {
            var mockPatron = new Mock <IPatron>();

            mockPatron.Setup(r => r.GetById(24)).Returns(GetPatron());
            mockPatron.Setup(r => r.GetCheckOuts(1)).Returns(new List <Checkouts> {
            });
            mockPatron.Setup(r => r.GetCheckOutHistory(1)).Returns(new List <CheckoutHistory> {
            });
            mockPatron.Setup(r => r.GetHolds(1)).Returns(new List <Holds> {
            });
            var sut = new PatronController(mockPatron.Object);

            var result = sut.Detail(24);

            var viewResult = result.Should().BeOfType <ViewResult>();
            var viewModel  = viewResult.Subject.ViewData.Model.Should().BeAssignableTo <PatronDetailViewModel>();

            viewModel.Subject.FirstName.Should().Be("Badmos");
            viewModel.Subject.LastName.Should().Be("Barkley");
            viewModel.Subject.LibraryCardId.Should().Be(123);
            viewModel.Subject.HomeLibrary.Should().Be("Stephen Hawkins");


            //Verifying if this queries were ran when called
            mockPatron.Verify(x => x.GetCheckOuts(24), Times.Once());
            mockPatron.Verify(x => x.GetCheckOutHistory(24), Times.Once());
            mockPatron.Verify(x => x.GetHolds(24), Times.Once());
        }
예제 #2
0
        public void Return_PatronDetailModel()
        {
            var mockPatronService = new Mock<IPatronService>();
            mockPatronService.Setup(r => r.Get(888)).Returns(GetPatron());
            var controller = new PatronController(mockPatronService.Object);

            var result = controller.Detail(888);

            var viewResult = result.Should().BeOfType<ViewResult>();
            viewResult.Subject.Model.Should().BeOfType<PatronDetailModel>();
        }
예제 #3
0
        public void Return_Patron_Detail_View()
        {
            var mockPatronService = new Mock<IPatronService>();
            mockPatronService.Setup(r => r.Get(1)).Returns(GetPatron());
            mockPatronService.Setup(r => r.GetCheckouts(1)).Returns(new List<Checkout>{});
            mockPatronService.Setup(r => r.GetCheckoutHistory(1)).Returns(new List<CheckoutHistory>{});
            mockPatronService.Setup(r => r.GetHolds(1)).Returns(new List<Hold>{});
            var sut = new PatronController(mockPatronService.Object);

            var result = sut.Detail(1);

            var viewResult = result.Should().BeOfType<ViewResult>();
            var viewModel = viewResult.Subject.ViewData.Model.Should().BeAssignableTo<PatronDetailModel>();
            viewModel.Subject.FirstName.Should().Be("Abc Def");
        }
예제 #4
0
        public void Return_Default_Values_For_Missing_Patron_Details()
        {
            var mockPatronService = new Mock<IPatronService>();
            mockPatronService.Setup(r => r.Get(411)).Returns(GetNoInfoPatron());
            var controller = new PatronController(mockPatronService.Object);

            var result = controller.Detail(411);

            var viewResult = result.Should().BeOfType<ViewResult>();
            var viewModel = viewResult.Subject.ViewData.Model.Should().BeAssignableTo<PatronDetailModel>();
            viewModel.Subject.FirstName.Should().Be("No First Name Provided");
            viewModel.Subject.LastName.Should().Be("No Last Name Provided");
            viewModel.Subject.Address.Should().Be("No Address Provided");
            viewModel.Subject.HomeLibrary.Should().Be("No Home Library");
            viewModel.Subject.Telephone.Should().Be("No TelephoneNumber Number Provided");
        }
예제 #5
0
        public void ReturnDefaultValuesForMissingPatronDetails()
        {
            var mockPatronService = new Mock <IPatron>();

            mockPatronService.Setup(r => r.Get(411)).Returns(GetNoInfoPatron());
            var controller = new PatronController(mockPatronService.Object);

            var result = controller.Detail(411);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsType <PatronDetailModel>(viewResult.Model);

            Assert.Equal("No First Name Provided", model.FirstName);
            Assert.Equal("No Address Provided", model.Address);
            Assert.Equal("No Home Library", model.HomeLibraryBranch);
            Assert.Equal("No First Name ProvidedNo Telephone Number Provided", model.Telephone);
        }
예제 #6
0
        public void ReturnDetailViewAndModel()
        {
            var mockPatronServices = new Mock <IPatron>();

            mockPatronServices.Setup(r => r.Get(1)).Returns(GetPatron());
            mockPatronServices.Setup(r => r.GetCheckouts(1)).Returns(new List <Checkout> {
            });
            mockPatronServices.Setup(r => r.GetCheckoutHistory(1)).Returns(new List <CheckoutHistory> {
            });
            mockPatronServices.Setup(r => r.GetHolds(1)).Returns(new List <Hold> {
            });

            var controller = new PatronController(mockPatronServices.Object);

            var result = controller.Detail(1);

            var viewResult = Assert.IsType <ViewResult>(result);

            var model = Assert.IsType <PatronDetailModel>(viewResult.Model);

            Assert.Equal("Abc Def", model.FirstName);
        }