public void Index_AscendingSortParam_ReturnsAlphabeticalEntries() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); string sortByParam = Sort.SORT_ASCENDING; List <Entry> sortedDataSource = dataSource.ToList(); sortedDataSource.Sort((a, b) => (a.Term.CompareTo(b.Term))); Entry expectedFirstAlphabeticalEntry = sortedDataSource.First(); // Act ViewResult result = controller.Index(sortByParam) as ViewResult; List <Entry> actualModel = result.Model as List <Entry>; // Assert Assert.AreEqual(expectedFirstAlphabeticalEntry.Id, actualModel.First().Id); }
public void Save_UpdatedEntryValues_ReturnsUpdatedDataSet() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); Entry updatedEntry = new Entry() { Id = dataSource.First().Id, Term = dataSource.First().Term, Definition = dataSource.First().Definition }; updatedEntry.Term = "New Term Value From User"; updatedEntry.Definition = "New Defintion Text to Replace Defintion From User Input"; // Act controller.Save(updatedEntry); // Assert Assert.AreEqual(dataSource.First().Term, updatedEntry.Term); Assert.AreEqual(dataSource.First().Definition, updatedEntry.Definition); }
public void Delete_NullEntryID_ThrowsHttpException() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); // Assert Assert.ThrowsException <HttpException>(() => controller.Delete(null)); }
public void Delete_DeleteEntryId_ReturnsUpdatedDataSet() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); int deleteEntryId = dataSource.First().Id; int expectedDataSourceCount = dataSource.Count() - 1; // Act controller.Delete(deleteEntryId); var actualModel = mockContext.Object.Entries.Count(); // Assert Assert.AreEqual(expectedDataSourceCount, mockContext.Object.Entries.Count()); }
public void Save_UpdatedEntryValuesForInvalidEntry_ThrowsHttpException() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); Entry updatedEntry = new Entry() { Id = 9999, Term = dataSource.First().Term, Definition = dataSource.First().Definition }; // Assert Assert.ThrowsException <HttpException>(() => controller.Save(updatedEntry)); }
public void Index_NullSort_ReturnsIndexViewWithChangedSort() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); string expectedViewName = ""; string expectedViewBagNameSortParm = Sort.SORT_DESCENDING; // Act ViewResult result = controller.Index(null) as ViewResult; // Assert Assert.AreEqual(expectedViewName, result.ViewName); Assert.AreEqual(expectedViewBagNameSortParm, result.ViewData.First().Value); }
public void Edit_ValidEntry_ReturnsEditFormViewAndCorrespondingEntry() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); string expectedViewName = "EntryForm"; Entry expectedEntry = dataSource.Last(); // Act ViewResult result = controller.Edit(expectedEntry.Id) as ViewResult; // Assert Assert.AreEqual(expectedViewName, result.ViewName); Assert.AreEqual(expectedEntry.Term, ((Entry)result.Model).Term); }
public void New_Called_ReturnsNewFormViewAndEntry() { // Arrange var dataSource = GetEntriesData(); var mockSet = new MockDbSet <Entry>(dataSource); var mockContext = new Mock <GlossaryContext>(); mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object); var controller = new EntryController(mockContext.Object); string expectedViewName = "EntryForm"; int expectedUnknownNewEntryID = Entry.UNASSIGNED_ID; // Act ViewResult result = controller.New() as ViewResult; // Assert Assert.AreEqual(expectedViewName, result.ViewName); Assert.AreEqual(expectedUnknownNewEntryID, ((Entry)result.Model).Id); }