Example #1
0
        public async Task DeletesOldSyncedTimeEntries()
        {
            var timeEntries = getTimeEntries();

            configureDataSourceReturn(timeEntries);

            await state.Start().SingleAsync();

            await dataSource.Received()
            .DeleteAll(Arg.Is <IEnumerable <IThreadSafeTimeEntry> >(tes => tes.Count() == 10));
        }
        public async Task DeletesSyncedInaccessibleTimeEntries()
        {
            var workspace           = new MockWorkspace(1000, isInaccessible: true);
            var syncedTimeEntries   = getSyncedTimeEntries(workspace);
            var unsyncedTimeEntries = getUnsyncedTimeEntries(workspace);
            var allTimeEntries      = syncedTimeEntries.Concat(unsyncedTimeEntries);

            configureDataSource(allTimeEntries);

            await state.Start().SingleAsync();

            dataSource
            .Received()
            .DeleteAll(Arg.Is <IEnumerable <IThreadSafeTimeEntry> >(
                           arg => arg.All(te => syncedTimeEntries.Contains(te)) &&
                           arg.None(te => unsyncedTimeEntries.Contains(te))));
        }
Example #3
0
        public async Task UpdatesTheDescriptionProperty()
        {
            var dtos           = prepareTimeEntries();
            var timeEntriesMap = timeEntries.ToDictionary(te => te.Id);
            var comparer       = new TimeEntriesCollectionComparer(
                dtos, (a, b) => a.Description == b.Description);

            await createInteractor(dtos).Execute();

            await timeEntriesSource.Received().BatchUpdate(
                Arg.Is <IEnumerable <IThreadSafeTimeEntry> >(tes => comparer.CompareTo(tes)));
        }
Example #4
0
            public void CallsBatchUpdateWithIsDeletedStatus()
            {
                setupTest();

                testedInteractor.Execute().Wait();

                dataSource.Received().BatchUpdate(
                    Arg.Is <IEnumerable <IThreadSafeTimeEntry> >(entries => entries.All(entry => entry.IsDeleted))
                    );
            }