Пример #1
0
            public void UnsetsTheIsSyncedFlagWhenTheSyncProcessIsNotRunningButThrereIsSomeTimeEntryToPush()
            {
                DataSource.HasUnsyncedData().Returns(Observable.Return(true));
                StateObservableSubject.OnNext(SyncState.Sleep);

                ViewModel.IsSynced.Should().BeFalse();
            }
Пример #2
0
            public void SetsTheIsSyncedFlagAfterTheSyncProcessHasFinishedAndThereIsNoTimeEntryToPush()
            {
                DataSource.HasUnsyncedData().Returns(Observable.Return(false));
                StateObservableSubject.OnNext(SyncState.Sleep);

                ViewModel.IsSynced.Should().BeTrue();
            }
Пример #3
0
 public void DoesNotSetTheIsLoggingOutFlagIfTheLogoutCommandIsNotExecuted(NonEmptyArray <SyncState> statuses)
 {
     foreach (var state in statuses.Get)
     {
         StateObservableSubject.OnNext(state);
         ViewModel.IsLoggingOut.Should().BeFalse();
     }
 }
Пример #4
0
 public void SetsTheIsRunningSyncAndIsSyncedFlagsToOppositeValues(NonEmptyArray <SyncState> statuses)
 {
     foreach (var state in statuses.Get)
     {
         StateObservableSubject.OnNext(state);
         ViewModel.IsRunningSync.Should().Be(!ViewModel.IsSynced);
     }
 }
Пример #5
0
 public void SetsIsSyncedCorrectly(NonEmptyArray <SyncState> statuses)
 {
     foreach (var state in statuses.Get)
     {
         StateObservableSubject.OnNext(state);
         ViewModel.IsSynced.Should().Be(state == SyncState.Sleep);
     }
 }
Пример #6
0
            public void UnsetsTheIsSyncedFlagWhenThereIsNothingToPushButTheSyncProcessStartsAgain(SyncState state)
            {
                DataSource.HasUnsyncedData().Returns(Observable.Return(false));
                StateObservableSubject.OnNext(SyncState.Sleep);
                StateObservableSubject.OnNext(state);

                ViewModel.IsSynced.Should().BeFalse();
            }
Пример #7
0
            public async Task ShowsConfirmationDialogWhenThereIsSomethingToPushButSyncIsNotRunning()
            {
                DataSource.HasUnsyncedData().Returns(Observable.Return(true));
                StateObservableSubject.OnNext(SyncState.Sleep);

                await ViewModel.LogoutCommand.ExecuteAsync();

                await DialogService.ReceivedWithAnyArgs().Confirm("", "", "", "");
            }
Пример #8
0
            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();
                }
            }
Пример #9
0
            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();
                }
            }
Пример #10
0
            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>();
            }
Пример #11
0
 private void doNotShowConfirmationDialog()
 {
     DataSource.HasUnsyncedData().Returns(Observable.Return(false));
     StateObservableSubject.OnNext(SyncState.Sleep);
 }
Пример #12
0
            public void ChecksIfThereAreUnsyncedDataWhenTheSyncProcessFinishes()
            {
                StateObservableSubject.OnNext(SyncState.Sleep);

                DataSource.Received().HasUnsyncedData();
            }