public async Task ListUsersQuery_returns_a_list_of_users_when_available() { //Arrange var userId1 = Guid.NewGuid(); var userId2 = Guid.NewGuid(); var userId3 = Guid.NewGuid(); IEnumerable <ListUsersResponse> response; using (var db = MockDbContext()) { db.Users.RemoveRange(db.Users); db.Users.Add(new User { Id = userId1, Name = "Tester1", Email = "*****@*****.**" }); db.Users.Add(new User { Id = userId2, Name = "Tester2", Email = "*****@*****.**" }); db.Users.Add(new User { Id = userId3, Name = "Tester3", Email = "*****@*****.**" }); db.SaveChanges(); } using (var db = MockDbContext()) { var request = new ListUsersQuery(); var handler = new ListUsersQueryHandler(db); //Act response = await handler.Handle(request, CancellationToken.None); } //Assert response.Count().Should().Be(3); }
public async Task ListUsersQuery_returns_a_blanklist_when_table_is_empty() { //Arrange IEnumerable <ListUsersResponse> response; using (var db = MockDbContext()) { db.Users.RemoveRange(db.Users); db.SaveChanges(); var request = new ListUsersQuery(); var handler = new ListUsersQueryHandler(db); //Act response = await handler.Handle(request, CancellationToken.None); } //Assert response.Count().Should().Be(0); }
public async Task Return_List_Of_Users() { var expectedUsers = new List <User> { GivenUser(UserId.NewUserId().Value, "name1", "*****@*****.**", "password1"), GivenUser(UserId.NewUserId().Value, "name2", "*****@*****.**", "password2"), GivenUser(UserId.NewUserId().Value, "name3", "*****@*****.**", "password3"), }; _repositoryMock .Setup(x => x.SelectAllAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>())) .ReturnsAsync(expectedUsers); var sut = new ListUsersQueryHandler(_repositoryMock.Object); var actualResult = await sut.Handle(new ListUsersQuery(0, 10), CancellationToken.None); actualResult.Should() .BeOfType <ListUsersQueryResult>() .Which.Users .Should().NotBeEmpty() .And.Contain(expectedUsers) .And.HaveCount(3); _repositoryMock.Verify(x => x.SelectAllAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>()), Times.Once); }