public async Task GetReceivedForUserAsync_WithNoRequests_ReturnsEmptyCollection() { // Arrange const int expectedCount = 0; const string testUser = "******"; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); await context.JoinRequests.AddAsync(new JoinRequest { User = new PoolItUser { UserName = "******" }, Ride = new Ride { Title = "Other Ride", Car = new Car { Owner = new PoolItUser { UserName = "******" }, Model = new CarModel { Manufacturer = new CarManufacturer() } }, Conversation = new Conversation() } }); await context.SaveChangesAsync(); var joinRequestsService = new JoinRequestsService(new EfRepository <JoinRequest>(context), null, null, null); // Act var actualCount = (await joinRequestsService.GetReceivedForUserAsync(testUser)).Count(); // Assert Assert.Equal(expectedCount, actualCount); }
public async Task GetReceivedForUserAsync_WithNullUser_ReturnsNull() { // Arrange var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); await context.JoinRequests.AddAsync(new JoinRequest { User = new PoolItUser { UserName = "******" }, Ride = new Ride { Title = "Other Ride", Car = new Car { Owner = new PoolItUser { UserName = "******" }, Model = new CarModel { Manufacturer = new CarManufacturer() } }, Conversation = new Conversation() } }); await context.SaveChangesAsync(); var joinRequestsService = new JoinRequestsService(new EfRepository <JoinRequest>(context), null, null, null); // Act var result = await joinRequestsService.GetReceivedForUserAsync(null); // Assert Assert.Null(result); }
public async Task GetReceivedForUserAsync_WithRequests_WorksCorrectly() { // Arrange const int expectedCount = 2; var context = new PoolItDbContext(new DbContextOptionsBuilder <PoolItDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options); var user = new PoolItUser { UserName = "******" }; await context.Users.AddAsync(user); var ride = new Ride { Title = "Test Ride", Car = new Car { Owner = user, Model = new CarModel { Manufacturer = new CarManufacturer() } }, Conversation = new Conversation() }; await context.Rides.AddAsync(ride); await context.JoinRequests.AddRangeAsync( new JoinRequest { Ride = ride, User = new PoolItUser { UserName = "******" } }, new JoinRequest { Ride = ride, User = new PoolItUser { UserName = "******" } }, new JoinRequest { User = user, Ride = new Ride { Title = "Other Ride", Car = new Car { Owner = new PoolItUser { UserName = "******" }, Model = new CarModel { Manufacturer = new CarManufacturer() } }, Conversation = new Conversation() } } ); await context.SaveChangesAsync(); var joinRequestsService = new JoinRequestsService(new EfRepository <JoinRequest>(context), null, null, null); // Act var actualCount = (await joinRequestsService.GetReceivedForUserAsync(user.UserName)).Count(); // Assert Assert.Equal(expectedCount, actualCount); }