public async Task CreatesNewWorkspacesAndUpdatesOldInaccessibleWorkspaces() { prepareDatabase(new[] { new MockWorkspace { Id = 1 }, new MockWorkspace { Id = 2, IsInaccessible = true }, }); var newWorkspaces = new[] { new MockWorkspace { Id = 2 }, new MockWorkspace { Id = 3 }, new MockWorkspace { Id = 4 }, }; var state = new PersistNewWorkspacesState(dataSource); await state.Start(newWorkspaces); dataSource.Received().Update(Arg.Is <IThreadSafeWorkspace>(workspace => workspace.Id == 2)); dataSource.Received(2).Create(Arg.Any <IThreadSafeWorkspace>()); dataSource.Received().Create(Arg.Is <IThreadSafeWorkspace>(workspace => workspace.Id == 3)); dataSource.Received().Create(Arg.Is <IThreadSafeWorkspace>(workspace => workspace.Id == 4)); }
public async Task PersistedNewWorkspacesAreNotMarkedAsInaccessible() { prepareDatabase(new[] { new MockWorkspace { Id = 1 }, new MockWorkspace { Id = 2, IsInaccessible = true }, }); var newWorkspaces = new[] { new MockWorkspace { Id = 2 }, new MockWorkspace { Id = 3 } }; var state = new PersistNewWorkspacesState(dataSource); await state.Start(newWorkspaces); dataSource.Received().Update(Arg.Is <IThreadSafeWorkspace>(workspace => !workspace.IsInaccessible)); dataSource.Received().Create(Arg.Is <IThreadSafeWorkspace>(workspace => !workspace.IsInaccessible)); }
public async Task ReplacesOldInaccessibleWorkspaces() { prepareDatabase(new[] { new MockWorkspace { Id = 1 }, new MockWorkspace { Id = 2, IsInaccessible = true }, }); var newWorkspaces = new[] { new MockWorkspace { Id = 2 } }; var state = new PersistNewWorkspacesState(dataSource); await state.Start(newWorkspaces); dataSource.Received().Update(Arg.Is <IThreadSafeWorkspace>(arg => arg.Id == 2)); }