public void Get_LoadsAndReturnsUser_WhenFound() { //Arrange User user = new User(); user.Id = Guid.NewGuid(); user.Changes = new List <Event>() { fixture.Create <UserSubscribed>(), fixture.Create <PasswordChanged>() }; List <User> users = new List <User>() { user }; IAsyncCursor <User> cursor = new FakeAsyncCursor <User>(users); var findTask = Task.FromResult(cursor); userCollection.FindAsync <User>(Arg.Any <FilterDefinition <User> >()).Returns(findTask); //Act var getUserTask = repository.Get(Guid.NewGuid()); getUserTask.Wait(); var domainUser = getUserTask.Result; //Assert domainUser.Should().NotBeNull(); domainUser.Changes.Count().Should().Be(user.Changes.Count()); }
public void Get_ReturnsNull_WhenUserDoesNotExist() { //Arrange IAsyncCursor <User> cursor = new FakeAsyncCursor <User>(); var findTask = Task.FromResult(cursor); userCollection.FindAsync <User>(Arg.Any <FilterDefinition <User> >()).Returns(findTask); //Act var getUserTask = repository.Get(Guid.NewGuid()); getUserTask.Wait(); var user = getUserTask.Result; //Assert user.Should().BeNull(); }