public void GetUsersShouldReturnAllUsers() { var tenantId = 1; var users = GenerateUsers(tenantId).ToArray(); var options = new DbContextOptionsBuilder <UsersDbContext>() .UseInMemoryDatabase(databaseName: "GetUsersShouldReturnAllUsers") .Options; // Insert seed data into the database using one instance of the context using (var ctx = new UsersDbContext(options)) { for (int i = 0; i < users.Length; i++) { ctx.Users.Add(users[i]); } ctx.SaveChanges(); } // Use a clean instance of the context to run the test using (var ctx = new UsersDbContext(options)) { var repo = new SqlServerUsersRepository(ctx); var service = new UsersService(repo); var result = service.GetUsers(tenantId).Result; Assert.AreEqual(users.Length, result.Count()); } }
public static IUsersService CreateUsersService(string connectionString) { var ctx = new UsersDbContext(connectionString); var usersRepository = new SqlServerUsersRepository(ctx); var service = new UsersService(usersRepository); return(service); }
public void CreateUserBasicTests() { var tenantId = 1; var users = GenerateUsers(tenantId).ToArray(); var options = new DbContextOptionsBuilder <UsersDbContext>() .UseInMemoryDatabase(databaseName: "CreateUserBasicTests") .Options; CreateUserResponse response; // Insert data into the database using one instance of the context using (var ctx = new UsersDbContext(options)) { var repo = new SqlServerUsersRepository(ctx); var service = new UsersService(repo); var request = new CreateUserRequest() { TenantId = users[0].TenantId, Email = users[0].Email, Password = "******", Address = users[0].Address, FirstName = users[0].FirstName, LastName = users[0].LastName, FavoriteFootballTeam = users[0].FavoriteFootballTeam, PersonalNumber = users[0].PersonalNumber }; response = service.CreateUser(request).Result; Assert.IsNotNull(response, "Create user response must not be null"); } // Use a clean instance of the context to run the test using (var ctx = new UsersDbContext(options)) { Assert.AreEqual(ctx.Users.Count(), 1, "Create user should persist user to DB"); } }