public void BasicSearch_NonDefault_Parameters() { //arrange var mockLogic = new Mock<IProjectLogic>(); var obj = new SearchResult<ProjectObj> { HasMore = false, HasPrevious = true, Results = new List<ProjectObj>() { new ProjectObj() { Id = 2 } } }; mockLogic.Setup(l => l.Search("query", 5, 10)).Returns(obj); var controller = new ProjectController(mockLogic.Object); //act var actual = controller.BasicSearch("query", 5, 10) as ViewResult; //assert Assert.IsNotNull(actual); var model = actual.Model as BasicSearchModel; Assert.IsNotNull(model); Assert.AreEqual(5, model.CurrentPage); Assert.AreEqual(false, model.HasMoreResults); Assert.AreEqual(true, model.HasPriorResults); Assert.AreEqual("Project", model.ModelName); Assert.AreEqual(10, model.PageSize); Assert.AreEqual("query", model.Query); Assert.AreEqual(1, model.Results.Count); Assert.AreEqual(2, model.Results[0].Id); }
public void Edit_Create_New() { //arrange var controller = new ProjectController(); //act var actual = controller.Edit((int?)null) as ViewResult; //assert Assert.IsNotNull(actual); var model = actual.Model as EditProjectModel; Assert.IsNotNull(model); }
public void Show_Id_Found() { //arrange var mockLogic = new Mock<IProjectLogic>(); var id = 2; var obj = new ProjectObj() { Id = id, Feeds = new List<FeedObj>() }; mockLogic.Setup(l => l.Get(id)).Returns(obj); var controller = new ProjectController(mockLogic.Object); //act var actual = controller.Show(id) as ViewResult; //assert Assert.IsNotNull(actual); var model = actual.Model as ShowProjectModel; Assert.IsNotNull(model); }
public void Show_Id_Not_Found() { //arrange var mockLogic = new Mock<IProjectLogic>(); var id = 2; ProjectObj obj = null; mockLogic.Setup(l => l.Get(id)).Returns(obj); var controller = new ProjectController(mockLogic.Object); controller = SetupController(controller); //act var actual = controller.Show(id) as RedirectResult; var expectedUrl = controller.Url.Project_Index(); //assert Assert.IsNotNull(actual); Assert.AreEqual(expectedUrl, actual.Url); }
public void Index_No_Projects() { //arrange var mockLogic = new Mock<IProjectLogic>(); var items = new List<ProjectObj>(); mockLogic.Setup(l => l.GetAll()).Returns(items); var controller = new ProjectController(mockLogic.Object); controller = SetupController(controller); //act var actual = controller.Index() as ViewResult; //assert Assert.IsNotNull(actual); var model = actual.Model as ListProjectModel; Assert.IsNotNull(model); Assert.IsNotNull(model.Projects); }
public void Index_Projects_Found() { //arrange var mockLogic = new Mock<IProjectLogic>(); var items = new List<ProjectObj> { new ProjectObj() { Id = 2 } }; mockLogic.Setup(l => l.GetByOwner("brian.salato")).Returns(items); var controller = new ProjectController(mockLogic.Object); controller = SetupController(controller); //act var actual = controller.Index() as ViewResult; //assert Assert.IsNotNull(actual); var model = actual.Model as ListProjectModel; Assert.IsNotNull(model); Assert.IsNotNull(model.Projects); Assert.AreEqual(1, model.Projects.Count); Assert.AreEqual(2, model.Projects[0].Id); }
public void Edit_Update_Id_Not_Found() { //arrange var id = 0; var mockLogic = new Mock<IProjectLogic>(); mockLogic.Setup(l => l.Get(id)).Returns((ProjectObj)null); var controller = new ProjectController(mockLogic.Object); controller = SetupController<ProjectController>(controller); //act var actual = controller.Edit(0) as RedirectResult; var expectedUrl = controller.Url.Project_Create(); //assert Assert.IsNotNull(actual); Assert.AreEqual(expectedUrl, actual.Url); }
public void Edit_Update_Id_Found() { //arrange var id = 0; var mockLogic = new Mock<IProjectLogic>(); var obj = new ProjectObj { Id = id }; mockLogic.Setup(l => l.Get(id)).Returns(obj); var controller = new ProjectController(mockLogic.Object); //act var actual = controller.Edit(0) as ViewResult; //assert Assert.IsNotNull(actual); var model = actual.Model as EditProjectModel; Assert.IsNotNull(model); }
public void Edit_Post_Update_Success() { //arrange var id = 2; var mockLogic = new Mock<IProjectLogic>(MockBehavior.Strict); mockLogic.Setup(m => m.Update(It.Is<ProjectObj>(p => p.Id == id), It.IsAny<string>())).Returns(true); var model = new EditProjectModel() { Id = id }; var controller = new ProjectController(mockLogic.Object); controller = SetupController(controller); //act var actual = controller.Edit(model) as RedirectResult; var expectedUrl = controller.Url.Project_Show(id); //assert Assert.IsNotNull(actual); Assert.AreEqual(expectedUrl, actual.Url); }
public void Edit_Post_Update_Bad_ModelState() { //arrange var mockLogic = new Mock<IProjectLogic>(MockBehavior.Strict); var model = new EditProjectModel() { Id = 0 }; var controller = new ProjectController(mockLogic.Object); controller = SetupController(controller); controller.ModelState.AddModelError("test", "test"); //act var actual = controller.Edit(model) as RedirectResult; var expectedUrl = controller.Url.Project_Edit(0); //assert Assert.IsNotNull(actual); Assert.AreEqual(expectedUrl, actual.Url); }
public void Edit_Post_Create_Failure() { //arrange var mockLogic = new Mock<IProjectLogic>(MockBehavior.Strict); mockLogic.Setup(m => m.Create(It.IsAny<ProjectObj>(), It.IsAny<string>())).Returns(-1); var model = new EditProjectModel(); var controller = new ProjectController(mockLogic.Object); controller = SetupController(controller); //act var actual = controller.Edit(model) as RedirectResult; var expectedUrl = controller.Url.Project_Create(); //assert Assert.IsNotNull(actual); Assert.AreEqual(expectedUrl, actual.Url); }