public void ReturnsNothingToPushTransitionWhenTheSingleEntityDoesNotNeedSyncing(SyncStatus syncStatus)
        {
            var entity = new TestModel(1, syncStatus);
            var state  = new LookForSingletonChangeToPushState <IThreadSafeTestModel>(dataSource);

            dataSource.Get().Returns(Observable.Return(entity));

            var transition = state.Start().SingleAsync().Wait();

            transition.Result.Should().Be(state.NoMoreChanges);
        }
Exemplo n.º 2
0
 public IObservable <Unit> Execute()
 => workspacesCount.Zip(
     timeEntriesCount,
     unsyncedTimeEntriesCount,
     unsyncabeTimeEntriesCount,
     combineData)
 .SelectMany(data =>
             userDataSource.Get().SelectMany(user =>
                                             feedbackApi.Send(user.Email, message, data)));
Exemplo n.º 3
0
 public IObservable <ITransition> Start() =>
 dataSource
 .Get()
 .Where(entity => entity.SyncStatus == SyncStatus.SyncNeeded)
 .SingleOrDefaultAsync()
 .Select(entity =>
         entity != null
                 ? (ITransition)PushEntity.Transition(entity)
                 : NothingToPush.Transition());
 public IObservable <ITransition> Start() =>
 dataSource
 .Get()
 .Where(entity => entity.SyncStatus == SyncStatus.SyncNeeded)
 .SingleOrDefaultAsync()
 .Select(entity =>
         entity != null
                 ? (ITransition)ChangeFound.Transition(entity)
                 : NoMoreChanges.Transition());
 public IObservable <Unit> Execute()
 => userDataSource
 .Get()
 .SingleAsync()
 .Select(User.Builder.FromExisting)
 .Select(user => user
         .SetDefaultWorkspaceId(workspaceId)
         .SetSyncStatus(SyncStatus.SyncNeeded)
         .SetAt(timeService.CurrentDateTime)
         .Build())
 .SelectMany(userDataSource.Update)
 .SelectUnit();
Exemplo n.º 6
0
 public IObservable <Unit> Execute()
 => Observable.Zip(
     workspacesCount,
     timeEntriesCount,
     unsyncedTimeEntriesCount,
     unsyncabeTimeEntriesCount,
     accountTimezone,
     interactorFactory.GetCurrentUser().Execute(),
     combineData)
 .SelectMany(data =>
             userDataSource.Get().SelectMany(user =>
                                             feedbackApi.Send(user.Email, message, data).ToObservable()));
 private IObservable <IThreadSafeUser> updateDefaultWorkspace(IThreadSafeWorkspace workspace)
 => userDataSource.Get()
 .Select(user => user.With(workspace.Id))
 .SelectMany(userDataSource.Update);
 public IObservable <IThreadSafeUser> Execute()
 => dataSource.Get()
 .Select(user => user.With(selectedWorkspaceId))
 .SelectMany(dataSource.Update);
 public IObservable <IThreadSafePreferences> Execute()
 => dataSource.Get()
 .Select(updatedPreferences)
 .SelectMany(dataSource.Update);
Exemplo n.º 10
0
 public IObservable <IThreadSafeUser> Execute()
 => dataSource.Get()
 .Select(updatedUser)
 .SelectMany(dataSource.Update);