public void Edit_GivenValidBorrowerId_ShouldReturnBorrowerViewModelWithTitles() { //---------------Set up test pack------------------- var borrower = new BorrowerBuilder().WithRandomProps().Build(); var id = borrower.Id; var repository = Substitute.For<IBorrowerRepository>(); repository.Get(id).Returns(borrower); var title = new Title { Id = RandomValueGen.GetRandomInt(), Description = RandomValueGen.GetRandomString() }; var titles = new List<Title> { title }; repository.GetAllTitles().Returns(titles); var mapper = Substitute.For<IMappingEngine>(); var borrowerViewModel = new BorrowerViewModel { Id = RandomValueGen.GetRandomInt() }; mapper.Map<BorrowerViewModel>(borrower).Returns(borrowerViewModel); var borrowerController = CreateBuilder() .WithBorrowerRepository(repository) .WithMappingEngine(mapper) .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = borrowerController.Edit(id) as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); var model = result.Model as BorrowerViewModel; Assert.IsNotNull(model); Assert.AreEqual(1,model.TitlesSelectList.Count); }
public void Create_GET_ShouldReturnViewResultWithTitles() { var repository = Substitute.For<IBorrowerRepository>(); var title = new Title { Id=RandomValueGen.GetRandomInt(), Description = RandomValueGen.GetRandomString()}; var titles = new List<Title> {title}; repository.GetAllTitles().Returns(titles); var borrowerController = CreateBuilder() .WithBorrowerRepository(repository) .Build(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = borrowerController.Create() as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); var model = result.Model as BorrowerViewModel; Assert.IsNotNull(model); Assert.IsInstanceOf<List<SelectListItem>>(model.TitlesSelectList); Assert.AreEqual(1, model.TitlesSelectList.Count); var selectListItem = model.TitlesSelectList.First(); Assert.AreEqual(title.Id.ToString(), selectListItem.Value); Assert.AreEqual(title.Description, selectListItem.Text); }