public void UnsetsTheIsSyncedFlagWhenTheSyncProcessIsNotRunningButThrereIsSomeTimeEntryToPush() { DataSource.HasUnsyncedData().Returns(Observable.Return(true)); StateObservableSubject.OnNext(SyncState.Sleep); ViewModel.IsSynced.Should().BeFalse(); }
public void SetsTheIsSyncedFlagAfterTheSyncProcessHasFinishedAndThereIsNoTimeEntryToPush() { DataSource.HasUnsyncedData().Returns(Observable.Return(false)); StateObservableSubject.OnNext(SyncState.Sleep); ViewModel.IsSynced.Should().BeTrue(); }
public void DoesNotSetTheIsLoggingOutFlagIfTheLogoutCommandIsNotExecuted(NonEmptyArray <SyncState> statuses) { foreach (var state in statuses.Get) { StateObservableSubject.OnNext(state); ViewModel.IsLoggingOut.Should().BeFalse(); } }
public void SetsTheIsRunningSyncAndIsSyncedFlagsToOppositeValues(NonEmptyArray <SyncState> statuses) { foreach (var state in statuses.Get) { StateObservableSubject.OnNext(state); ViewModel.IsRunningSync.Should().Be(!ViewModel.IsSynced); } }
public void SetsIsSyncedCorrectly(NonEmptyArray <SyncState> statuses) { foreach (var state in statuses.Get) { StateObservableSubject.OnNext(state); ViewModel.IsSynced.Should().Be(state == SyncState.Sleep); } }
public void UnsetsTheIsSyncedFlagWhenThereIsNothingToPushButTheSyncProcessStartsAgain(SyncState state) { DataSource.HasUnsyncedData().Returns(Observable.Return(false)); StateObservableSubject.OnNext(SyncState.Sleep); StateObservableSubject.OnNext(state); ViewModel.IsSynced.Should().BeFalse(); }
public async Task ShowsConfirmationDialogWhenThereIsSomethingToPushButSyncIsNotRunning() { DataSource.HasUnsyncedData().Returns(Observable.Return(true)); StateObservableSubject.OnNext(SyncState.Sleep); await ViewModel.LogoutCommand.ExecuteAsync(); await DialogService.ReceivedWithAnyArgs().Confirm("", "", "", ""); }
public void DoesNotUnsetTheIsLoggingOutFlagAfterItIsSetNoMatterWhatStatusesAreObserved(NonEmptyArray <SyncState> statuses) { DataSource.SyncManager.Freeze().Returns(Observable.Never <SyncState>()); ViewModel.LogoutCommand.ExecuteAsync(); foreach (var state in statuses.Get) { StateObservableSubject.OnNext(state); ViewModel.IsLoggingOut.Should().BeTrue(); } }
public void SetsTheIsRunningSyncAndIsSyncedFlagsToFalseAfterTheIsLoggingInFlagIsSetAndDoesNotSetThemToTrueNoMatterWhatStatusesAreObserved(NonEmptyArray <SyncState> statuses) { DataSource.SyncManager.Freeze().Returns(Observable.Never <SyncState>()); ViewModel.LogoutCommand.ExecuteAsync(); foreach (var state in statuses.Get) { StateObservableSubject.OnNext(state); ViewModel.IsRunningSync.Should().BeFalse(); ViewModel.IsSynced.Should().BeFalse(); } }
public async Task ProceedsWithLogoutWhenUserClicksSignOutButtonInTheDialog() { StateObservableSubject.OnNext(SyncState.Pull); DialogService.Confirm( Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()).Returns(true); await ViewModel.LogoutCommand.ExecuteAsync(); ViewModel.IsLoggingOut.Should().BeTrue(); await DataSource.SyncManager.Received().Freeze(); await DataSource.Received().Logout(); await NavigationService.Received().Navigate <OnboardingViewModel>(); }
private void doNotShowConfirmationDialog() { DataSource.HasUnsyncedData().Returns(Observable.Return(false)); StateObservableSubject.OnNext(SyncState.Sleep); }
public void ChecksIfThereAreUnsyncedDataWhenTheSyncProcessFinishes() { StateObservableSubject.OnNext(SyncState.Sleep); DataSource.Received().HasUnsyncedData(); }