public void OnViewModelWithChange_WithSameChangeAgain_ShouldReplaceOldChange() { KeyValueChange change = RandomKeyValueChange(); MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.KeyValueChanged(RandomKeyValueChange()); viewModel.KeyValueChanged(change); viewModel.Changes.Should().ContainSingle(c => Equals(c, change)); }
public void WithNull_ShouldNotAddNullToChanges() { MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.KeyValueChanged(null); viewModel.Changes.Should().NotContainNulls(); }
public void WithChange_ShouldStoreChange() { KeyValueChange change = RandomKeyValueChange(); MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.KeyValueChanged(change); viewModel.Changes.Should().ContainSingle(c => Equals(c, change)); }
public void OnViewModelWithChange_ShouldClearChanges() { KeyValueChange change = RandomKeyValueChange(); MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.KeyValueChanged(change); viewModel.Save(); viewModel.Changes.Should().BeEmpty(); }
public void OnViewModelWithChange_ShouldSaveChangeOnCommander() { KeyValueChange change = RandomKeyValueChange(); MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.KeyValueChanged(change); viewModel.Save(); _commander.Verify(c => c.SaveChanges(_randomModule, _randomController, It.IsAny <IEnumerable <KeyValueChange> >())); }
public void OnViewModelWithSuppressedChanges_ShouldNotStoreChange() { KeyValueChange change = RandomKeyValueChange(); MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.SuppressChangeEvent = true; viewModel.KeyValueChanged(change); viewModel.Changes.Should().NotContain(change); }
public void OnCommanderThatThrows_ShouldExposeErrorMessage() { string randomError = CreateRandom.String(); _commander.Setup(c => c.SaveChanges(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <IEnumerable <KeyValueChange> >())) .Throws(new Exception(randomError)); MasterDetailViewModel viewModel = CreateMasterDetailViewModel(); viewModel.KeyValueChanged(RandomKeyValueChange()); viewModel.Save(); _states.Verify(s => s.ChangeToErrorState(It.Is <string>(e => e.Contains(randomError)))); }