public void Can_Paginate() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1"}, new Contact {ContactId = 2, LastName = "2"}, new Contact {ContactId = 3, LastName = "3"}, new Contact {ContactId = 4, LastName = "4"}, new Contact {ContactId = 5, LastName = "5"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act ContactListViewModel result = (ContactListViewModel)controller.List(null, null, 3, 2).Model; //assert Contact[] contArray = result.Contacts.ToArray(); Assert.IsTrue(contArray.Length == 2); Assert.AreEqual(contArray[0].LastName, "4"); Assert.AreEqual(contArray[1].LastName, "5"); }
public void Can_Send_Pagination_View_Model() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1"}, new Contact {ContactId = 2, LastName = "2"}, new Contact {ContactId = 3, LastName = "3"}, new Contact {ContactId = 4, LastName = "4"}, new Contact {ContactId = 5, LastName = "5"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act ContactListViewModel result = (ContactListViewModel)controller.List(null, null, 3, 2).Model; //assert PagingInfo pagingInfo = result.PagingInfo; Assert.AreEqual(pagingInfo.CurrenPage, 2); Assert.AreEqual(pagingInfo.ItemsPerPage, 3); Assert.AreEqual(pagingInfo.TotalItems, 5); Assert.AreEqual(pagingInfo.TotalPages, 2); }
public void Can_Filter_Contacts() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1", City = "Минск", Function = "директор"}, new Contact {ContactId = 2, LastName = "2", City = "Минск", Function = "бухгалтер"}, new Contact {ContactId = 3, LastName = "3", City = "Москва", Function = "директор"}, new Contact {ContactId = 4, LastName = "4", City = "Москва", Function = "бухгалтер"}, new Contact {ContactId = 5, LastName = "5", City = "Саратов", Function = "уборщик"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act Contact[] result = ((ContactListViewModel)controller.List("Минск", "бухгалтер", 3, 1).Model).Contacts.ToArray(); //assert Assert.IsTrue(result.Length == 1); Assert.AreEqual(result[0].LastName, "2"); Assert.AreEqual(result[0].City, "Минск"); }
public void Cannot_Save_Invalid_Changes() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); ContactController controller = new ContactController(mock.Object); Contact contact = new Contact { LastName = "Test" }; controller.ModelState.AddModelError("error", "error"); //act ActionResult result = controller.Edit(contact); //assert mock.Verify(c => c.SaveContact(It.IsAny<Contact>()), Times.Never()); Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public void Can_Delete_Valid_Contact() { //arrange Contact contact = new Contact { ContactId = 2, LastName = "2" }; Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1"}, contact, new Contact {ContactId = 3, LastName = "3"}, }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act controller.Delete(contact.ContactId); //assert mock.Verify(m => m.DeleteContact(contact.ContactId)); }
public void Can_Save_Valid_Changes() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); ContactController controller = new ContactController(mock.Object); Contact contact = new Contact { LastName = "Test" }; //act ActionResult result = controller.Edit(contact); //assert mock.Verify(c => c.SaveContact(contact)); Assert.IsNotInstanceOfType(result, typeof(ViewResult)); }
public void Cannot_Edit_Nonexistent_Contact() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1"}, new Contact {ContactId = 2, LastName = "2"}, new Contact {ContactId = 3, LastName = "3"}, new Contact {ContactId = 4, LastName = "4"}, new Contact {ContactId = 5, LastName = "5"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act Contact result = (Contact)controller.Edit(6).ViewData.Model; //assert Assert.IsNull(result); }
public void Can_Edit_Contact() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1"}, new Contact {ContactId = 2, LastName = "2"}, new Contact {ContactId = 3, LastName = "3"}, new Contact {ContactId = 4, LastName = "4"}, new Contact {ContactId = 5, LastName = "5"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act Contact c1 = controller.Edit(1).ViewData.Model as Contact; Contact c2 = controller.Edit(3).ViewData.Model as Contact; Contact c3 = controller.Edit(5).ViewData.Model as Contact; //assert Assert.AreEqual(1, c1.ContactId); Assert.AreEqual(3, c2.ContactId); Assert.AreEqual(5, c3.ContactId); }
public void ListAllForCRUD_Contains_All_Contacts() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1"}, new Contact {ContactId = 2, LastName = "2"}, new Contact {ContactId = 3, LastName = "3"}, new Contact {ContactId = 4, LastName = "4"}, new Contact {ContactId = 5, LastName = "5"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act Contact[] result = ((IEnumerable<Contact>)controller.ListAllForCRUD().ViewData.Model).ToArray(); //assert Assert.AreEqual(result.Length, 5); Assert.AreEqual("5", result[4].LastName); Assert.AreEqual("3", result[2].LastName); Assert.AreEqual("1", result[0].LastName); }
public void Generate_Function_Specified_Contact_Count() { //arrange Mock<IContactRepository> mock = new Mock<IContactRepository>(); mock.Setup(m => m.Contacts).Returns(new Contact[] { new Contact {ContactId = 1, LastName = "1", City = "Минск", Function = "директор"}, new Contact {ContactId = 2, LastName = "2", City = "Минск", Function = "бухгалтер"}, new Contact {ContactId = 3, LastName = "3", City = "Москва", Function = "директор"}, new Contact {ContactId = 4, LastName = "4", City = "Москва", Function = "бухгалтер"}, new Contact {ContactId = 5, LastName = "5", City = "Саратов", Function = "уборщик"} }.AsQueryable()); ContactController controller = new ContactController(mock.Object); //act int res1 = ((ContactListViewModel)controller.List(null, "директор").Model).PagingInfo.TotalItems; int res2 = ((ContactListViewModel)controller.List(null, "бухгалтер").Model).PagingInfo.TotalItems; int res3 = ((ContactListViewModel)controller.List(null, "уборщик").Model).PagingInfo.TotalItems; int resAll = ((ContactListViewModel)controller.List().Model).PagingInfo.TotalItems; //assert Assert.AreEqual(res1, 2); Assert.AreEqual(res2, 2); Assert.AreEqual(res3, 1); Assert.AreEqual(resAll, 5); }