public void Title_EditCategory_CorrectTitle() { var categoryName = "groceries"; var viewmodel = new ModifyCategoryViewModel(new Mock <ICategoryRepository>().Object, new Mock <IDialogService>().Object) { IsEdit = true, SelectedCategory = new Category { Id = 9, Name = categoryName } }; viewmodel.Title.ShouldBe(string.Format(Strings.EditCategoryTitle, categoryName)); }
public void Title_AddCategory_CorrectTitle() { // Arrange var viewmodel = new ModifyCategoryViewModel(new Mock <ICategoryService>().Object, new Mock <IDialogService>().Object, new Mock <ISettingsManager>().Object, new Mock <IBackupManager>().Object, new Mock <IMvxNavigationService>().Object) { IsEdit = false }; // Act / Assert viewmodel.Title.ShouldBe(Strings.AddCategoryTitle); }
public ActionResult CategoryEdit(ModifyCategoryViewModel cur) { var toedit = new Category { Id = cur.CategoryId, Name = cur.Name, Slug = cur.Slug, }; if (catl.AdminCategoryModify(toedit)) { return(RedirectToAction("AdminCategory")); } TempData["error"] = "Invalid Modification. The name or slug already exists."; return(View(cur)); }
public void DeleteCategory_DeletesCategory() { // Arrange var categoryList = new List <Category>(); var categoryServiceMock = new Mock <ICategoryService>(); categoryServiceMock.Setup(c => c.SaveCategory(It.IsAny <Category>())) .Callback((Category cat) => { categoryList.Add(cat); }); categoryServiceMock.Setup(c => c.DeleteCategory(It.IsAny <Category>())) .Callback((Category cat) => { categoryList.Remove(cat); }); var settingsManagerMock = new Mock <ISettingsManager>(); var categoryPrimary = new Category { Data = { Id = 1, Name = "Test CategoryViewModel", Note = "Notes about the test CategoryViewModel" } }; categoryList.Add(categoryPrimary); var viewmodel = new ModifyCategoryViewModel(categoryServiceMock.Object, new Mock <IDialogService>().Object, settingsManagerMock.Object, new Mock <IBackupManager>().Object, new Mock <IMvxLogProvider>().Object, new Mock <IMvxNavigationService>().Object) { IsEdit = true, SelectedCategory = new CategoryViewModel(categoryPrimary) }; // Act viewmodel.DeleteCommand.Execute(); // Assert categoryList.Any().ShouldBeFalse(); }
public void Title_EditCategory_CorrectTitle() { // Arrange var categoryName = "groceries"; var viewmodel = new ModifyCategoryViewModel(new Mock <ICategoryService>().Object, new Mock <IDialogService>().Object, new Mock <ISettingsManager>().Object, new Mock <IBackupManager>().Object) { IsEdit = true, SelectedCategory = new CategoryViewModel(new Category()) { Id = 9, Name = categoryName } }; // Act / Assert viewmodel.Title.ShouldBe(string.Format(Strings.EditCategoryTitle, categoryName)); }
public void SaveCommand_SavesCategory() { // Arrange var categoryList = new List <Category>(); var categoryServiceMock = new Mock <ICategoryService>(); categoryServiceMock.Setup(c => c.SaveCategory(It.IsAny <Category>())) .Callback((Category cat) => { categoryList.Add(cat); }) .Returns(Task.CompletedTask); var settingsManagerMock = new Mock <ISettingsManager>(); var categoryPrimary = new Category { Data = { Id = 1, Name = "Test CategoryViewModel", Note = "Test Note" } }; var viewmodel = new ModifyCategoryViewModel(categoryServiceMock.Object, new Mock <IDialogService>().Object, settingsManagerMock.Object, new Mock <IBackupManager>().Object, new Mock <IMvxLogProvider>().Object, new Mock <IMvxNavigationService>().Object) { IsEdit = false, SelectedCategory = new CategoryViewModel(categoryPrimary) }; // Act viewmodel.SaveCommand.Execute(); // Assert categoryList.Count.ShouldEqual(1); }
public void SaveCategory_UpdateTimeStamp() { // Arrange var category = new CategoryViewModel(new Category()) { Id = 0, Name = "CategoryViewModel", Notes = "" }; var categoryServiceMock = new Mock <ICategoryService>(); categoryServiceMock.SetupAllProperties(); categoryServiceMock.Setup(x => x.SaveCategory(It.IsAny <Category>())).Returns(Task.CompletedTask); categoryServiceMock.Setup(x => x.GetAllCategories()).ReturnsAsync(new ObservableCollection <Category>()); var localDateSetting = DateTime.MinValue; var settingsManagerMock = new Mock <ISettingsManager>(); settingsManagerMock.SetupSet(x => x.LastDatabaseUpdate = It.IsAny <DateTime>()) .Callback((DateTime x) => localDateSetting = x); var viewmodel = new ModifyCategoryViewModel(categoryServiceMock.Object, new Mock <IDialogService>().Object, settingsManagerMock.Object, new Mock <IBackupManager>().Object, new Mock <IMvxLogProvider>().Object, new Mock <IMvxNavigationService>().Object) { IsEdit = false, SelectedCategory = category }; // Act viewmodel.SaveCommand.Execute(); // Assert localDateSetting.ShouldBeGreaterThan(DateTime.Now.AddSeconds(-1)); localDateSetting.ShouldBeLessThan(DateTime.Now.AddSeconds(1)); }
public void DoneCommand_NameEmpty_ShowMessage() { // Setup var wasDialogServiceCalled = false; var dialogSetup = new Mock <IDialogService>(); dialogSetup.Setup(x => x.ShowMessage(It.IsAny <string>(), It.IsAny <string>())) .Callback((string a, string b) => wasDialogServiceCalled = true); var vm = new ModifyCategoryViewModel(new Mock <ICategoryRepository>().Object, dialogSetup.Object) { SelectedCategory = new Category() }; // Execute vm.SaveCommand.Execute(new Category()); // Assert wasDialogServiceCalled.ShouldBeTrue(); }
public void SaveCommand_DoesNotAllowDuplicateNames() { // Arrange var saveWasCalled = false; var categoryServiceMock = new Mock <ICategoryService>(); categoryServiceMock.Setup(c => c.CheckIfNameAlreadyTaken(It.IsAny <string>())) .ReturnsAsync(true); categoryServiceMock.Setup(c => c.SaveCategory(It.IsAny <Category>())) .Callback(() => saveWasCalled = true) .Returns(Task.CompletedTask); var categoryPrimary = new Category { Data = { Id = 1, Name = "Test CategoryViewModel" } }; var viewmodel = new ModifyCategoryViewModel(categoryServiceMock.Object, new Mock <IDialogService>().Object, new Mock <ISettingsManager>().Object, new Mock <IBackupManager>().Object, new Mock <IMvxLogProvider>().Object, new Mock <IMvxNavigationService>().Object) { IsEdit = false, SelectedCategory = new CategoryViewModel(categoryPrimary) }; // Act viewmodel.SaveCommand.Execute(); // Assert saveWasCalled.ShouldBeFalse(); }
public void SaveCategory_UpdateTimeStamp() { var category = new Category { Id = 0, Name = "category", Notes = "" }; var categoryRepositorySetup = new Mock <ICategoryRepository>(); categoryRepositorySetup.SetupAllProperties(); categoryRepositorySetup.Setup(x => x.Save(category)).Returns(true); categoryRepositorySetup.Setup(x => x.GetList(null)).Returns(() => new ObservableCollection <Category>()); var viewmodel = new ModifyCategoryViewModel(categoryRepositorySetup.Object, new Mock <IDialogService>().Object) { IsEdit = false, SelectedCategory = category }; viewmodel.SaveCommand.Execute(); localDateSetting.ShouldBeGreaterThan(DateTime.Now.AddSeconds(-1)); localDateSetting.ShouldBeLessThan(DateTime.Now.AddSeconds(1)); }
public void SaveCommand_Does_Not_Allow_Duplicate_Names() { var categoryList = new List <CategoryViewModel>(); var categoryRepositorySetup = new Mock <ICategoryRepository>(); categoryRepositorySetup.Setup(c => c.GetList(It.IsAny <Expression <Func <CategoryViewModel, bool> > >())) .Returns(categoryList); categoryRepositorySetup.Setup(c => c.Save(It.IsAny <CategoryViewModel>())) .Callback((CategoryViewModel cat) => { categoryList.Add(cat); }); var settingsManagerMock = new Mock <ISettingsManager>(); var categoryPrimary = new CategoryViewModel { Id = 1, Name = "Test CategoryViewModel" }; var categorySecondary = new CategoryViewModel { Name = "Test CategoryViewModel" }; categoryList.Add(categoryPrimary); var viewmodel = new ModifyCategoryViewModel(categoryRepositorySetup.Object, new Mock <IDialogService>().Object, settingsManagerMock.Object, new Mock <IBackupManager>().Object) { IsEdit = false, SelectedCategory = categorySecondary }; viewmodel.SaveCommand.Execute(); categoryList.Count.ShouldBe(1); }
public void SaveCommand_SavesCategory() { var categoryList = new List <Category>(); var categoryRepositorySetup = new Mock <ICategoryRepository>(); categoryRepositorySetup.Setup(c => c.Save(It.IsAny <Category>())) .Callback((Category cat) => { categoryList.Add(cat); }); var categoryPrimary = new Category { Id = 1, Name = "Test Category", Notes = "Test Note" }; var viewmodel = new ModifyCategoryViewModel(categoryRepositorySetup.Object, new Mock <IDialogService>().Object) { IsEdit = false, SelectedCategory = categoryPrimary }; viewmodel.SaveCommand.Execute(); categoryList.Count.ShouldBe(1); }