public async Task AddRoomToUserAsyncShouldAddRowInUsersRoomTable() { //Arange var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options; var db = new ApplicationDbContext(options); var config = new MapperConfiguration(cfg => { cfg.AddProfile <ApplicationProfile>(); }); var mapper = new Mapper(config); var roomService = new RoomService(db, mapper); //Act var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; var room = new Room { Adults = 1, CheckIn = new DateTime(2020, 12, 20), CheckOut = new DateTime(2020, 12, 21), Image = "no image", Description = "no description", Price = 5, RoomCount = 5, RoomType = RoomType.Single, }; db.Rooms.Add(room); db.Users.Add(user); await db.SaveChangesAsync(); var viewModel = new UserReserveFinishViewModel { CheckIn = new DateTime(2020, 12, 20), CheckOut = new DateTime(2020, 12, 20), CreaditCardNumber = "1234512345123451", Cvv = 111, Expiration = "03/24", FirstName = "Gosho", LastName = "Goshev", NameOfCard = "Gosho Goshev", PhoneNumber = "1231231231", }; await roomService.AddRoomToUserAsync(viewModel, user.Id, room.Id); //assert Assert.True(await db.UserRooms.CountAsync() == 1); }