public void ShouldBy_Call_RemoveRange_Method() { // Arrange var entities = new List <TodoItem> { new TodoItem { Id = 1, Name = "Test 1" }, new TodoItem { Id = 2, Name = "Test 2" }, new TodoItem { Id = 3, Name = "Test 3" }, }; var context = new Mock <BasicArchitectureTemplateDbContext>(); var dbSetMock = ServiceTestsHelper.GetMockDbSet <TodoItem>(entities); context.Setup(x => x.Set <TodoItem>()).Returns(dbSetMock.Object); // Act var repository = new Repository <TodoItem, int>(context.Object); repository.RemoveRange(entities.Where(x => x.Id <= 2).ToList()); var noExist = repository.Query().FirstOrDefault(x => x.Id == 1); var exist = repository.Query().FirstOrDefault(x => x.Id == 3); //Assert dbSetMock.Verify(x => x.RemoveRange(It.IsAny <IEnumerable <TodoItem> >())); Assert.Null(noExist); Assert.NotNull(exist); }
public void ShouldBy_Call_Update_Method() { var testObject = new TodoItem { Id = 3, Name = "Test 3" }; var entities = new List <TodoItem> { new TodoItem { Id = 1, Name = "Test 1" }, new TodoItem { Id = 2, Name = "Test 2" }, testObject }; var context = new Mock <BasicArchitectureTemplateDbContext>(); var dbSetMock = ServiceTestsHelper.GetMockDbSet <TodoItem>(testObject); context.Setup(x => x.Set <TodoItem>()).Returns(dbSetMock.Object); // Act var repository = new Repository <TodoItem, int>(context.Object); testObject.Name = "Test 3 Updated"; repository.Update(testObject); var exist = repository.Query().FirstOrDefault(x => x.Id == 3); //Assert dbSetMock.Verify(x => x.Update(It.Is <TodoItem>(y => y == testObject))); Assert.Equal("Test 3 Updated", exist.Name); }
public void ShouldBy_Get_Query() { // Arrange var entities = new List <TodoItem> { new TodoItem { Id = 1, Name = "Test 1" }, new TodoItem { Id = 2, Name = "Test 2" }, new TodoItem { Id = 3, Name = "Test 3" }, }; var context = new Mock <BasicArchitectureTemplateDbContext>(); var dbSetMock = ServiceTestsHelper.GetMockDbSet <TodoItem>(entities); context.Setup(x => x.Set <TodoItem>()).Returns(dbSetMock.Object); // Act var repository = new Repository <TodoItem, int>(context.Object); var results = repository.Query(); var list = results.ToList(); //Assert Assert.NotEmpty(list); Assert.True(list.Count == 3); }
public async void Get_AllTodoItems() { // Arrange var entities = new List <TodoItem> { new TodoItem { Id = 1, Name = "Test 1" }, new TodoItem { Id = 2, Name = "Test 2" }, new TodoItem { Id = 3, Name = "Test 3" } }; var context = new Mock <BasicArchitectureTemplateDbContext>(); var dbSetMock = ServiceTestsHelper.GetMockDbSet <TodoItem>(entities); context.Setup(x => x.Set <TodoItem>()).Returns(dbSetMock.Object); var repositoryMock = new Mock <IRepository <TodoItem, int> >(); repositoryMock.Setup(x => x.Query()).Returns((IQueryable <TodoItem>)dbSetMock.Object); var service = new TodoService(repositoryMock.Object); var controller = new TodoController(new NullLogger <TodoController>(), service); // Act var result = await controller.Get(); //Assert var model = Assert.IsType <List <TodoItem> >(result); Assert.Equal(3, model.Count()); }
public void ValidateUserTest() { IEncryptionService encryptionService = new EncryptionService(); string userSalt = encryptionService.CreateSalt(); string userHash = encryptionService.EncryptPassword("password", userSalt); var ctx = new Mock <IContext>(); List <Role> roles = new List <Role> { new Role() { Id = 1, Name = "Role1" }, new Role() { Id = 2, Name = "Role2" } }; List <User> users = new List <User> { new User() { Id = 1, Username = "******", Salt = userSalt, HashedPassword = userHash } }; List <UserRole> userRoles = new List <UserRole> { new UserRole() { Id = 1, RoleId = 1, UserId = 1 }, new UserRole() { Id = 2, RoleId = 2, UserId = 1 } }; var rolesMockDbSet = ServiceTestsHelper.GetMockDbSet <Role>(roles); var usersMockDbSet = ServiceTestsHelper.GetMockDbSet <User>(users); var userRolesMockDbSet = ServiceTestsHelper.GetMockDbSet <UserRole>(userRoles); ctx.Setup(c => c.Set <Role>()).Returns(rolesMockDbSet.Object); ctx.Setup(c => c.Set <User>()).Returns(usersMockDbSet.Object); ctx.Setup(c => c.Set <UserRole>()).Returns(userRolesMockDbSet.Object); IUserService userService = new UserService(ctx.Object); IRoleService roleService = new RoleService(ctx.Object); IUserRoleService userRoleService = new UserRoleService(ctx.Object); IMembershipService service = new MembershipService(userService, encryptionService, roleService, userRoleService); var result = service.ValidateUser("testUser1", "password"); Assert.NotNull(result.Principal); }
public void GetUserRolesTest() { var ctx = new Mock <IContext>(); List <Role> roles = new List <Role> { new Role() { Id = 1, Name = "Role1" }, new Role() { Id = 2, Name = "Role2" } }; List <UserRole> userRoles = new List <UserRole> { new UserRole() { Id = 1, RoleId = 1, UserId = 1, Role = roles[0] }, new UserRole() { Id = 2, RoleId = 2, UserId = 1, Role = roles[1] } }; List <User> users = new List <User> { new User() { Id = 1, Username = "******", UserRoles = userRoles } }; var rolesMockDbSet = ServiceTestsHelper.GetMockDbSet <Role>(roles); var usersMockDbSet = ServiceTestsHelper.GetMockDbSet <User>(users); var userRolesMockDbSet = ServiceTestsHelper.GetMockDbSet <UserRole>(userRoles); ctx.Setup(c => c.Set <Role>()).Returns(rolesMockDbSet.Object); ctx.Setup(c => c.Set <User>()).Returns(usersMockDbSet.Object); ctx.Setup(c => c.Set <UserRole>()).Returns(userRolesMockDbSet.Object); IUserService userService = new UserService(ctx.Object); IRoleService roleService = new RoleService(ctx.Object); IUserRoleService userRoleService = new UserRoleService(ctx.Object); IEncryptionService encryptionService = new EncryptionService(); IMembershipService service = new MembershipService(userService, encryptionService, roleService, userRoleService); List <Role> result = service.GetUserRoles("testUser1"); Assert.Equal(2, result.Count); }
public void GetUserByUsernameTest() { string username = "******"; var ctx = new Mock <IContext>(); List <User> users = new List <User>(); users.Add(new User() { Username = username }); var mockDbSet = ServiceTestsHelper.GetMockDbSet <User>(users); ctx.Setup(c => c.Set <User>()).Returns(mockDbSet.Object); IUserService service = new UserService(ctx.Object); var result = service.GetUserByUsername(username); Assert.NotNull(result); }
public void ShouldBy_Call_Add_Method() { // Arrange var testObject = new TodoItem(); var context = new Mock <BasicArchitectureTemplateDbContext>(); var dbSetMock = ServiceTestsHelper.GetMockDbSet <TodoItem>(testObject); context.Setup(x => x.Set <TodoItem>()).Returns(dbSetMock.Object); // Act var repository = new Repository <TodoItem, int>(context.Object); repository.Add(testObject); //Assert context.Verify(x => x.Set <TodoItem>()); dbSetMock.Verify(x => x.Add(It.Is <TodoItem>(y => y == testObject))); }
public void CreateUserTestFail_userAlreadyRegistered() { string username = "******"; var ctx = new Mock <IContext>(); List <User> users = new List <User> { new User() { Username = username } }; List <Role> roles = new List <Role> { new Role() { Id = 1, Name = "Role1" }, new Role() { Id = 2, Name = "Role2" } }; var usersMockDbSet = ServiceTestsHelper.GetMockDbSet <User>(users); var rolesMockDbSet = ServiceTestsHelper.GetMockDbSet <Role>(roles); ctx.Setup(c => c.Set <User>()).Returns(usersMockDbSet.Object); ctx.Setup(c => c.Set <Role>()).Returns(rolesMockDbSet.Object); IUserService userService = new UserService(ctx.Object); IRoleService roleService = new RoleService(ctx.Object); IUserRoleService userRoleService = new UserRoleService(ctx.Object); var encryptionService = new EncryptionService(); IMembershipService service = new MembershipService(userService, encryptionService, roleService, userRoleService); Assert.ThrowsAny <UserAlreadyRegisteredException>(() => { service.CreateUser("testUser1", "*****@*****.**", "password", new List <int>() { 1, 2 }); }); }
public async Task ShouldBy_Call_AddAsync_Method() { // Arrange var testObject = new TodoItem(); var entities = new List <TodoItem> { testObject }; var context = new Mock <BasicArchitectureTemplateDbContext>(); var dbSetMock = ServiceTestsHelper.GetMockDbSet <TodoItem>(testObject); context.Setup(x => x.Set <TodoItem>()).Returns(dbSetMock.Object); // Act var repository = new Repository <TodoItem, int>(context.Object); await repository.AddAsync(testObject); //Assert dbSetMock.Verify(x => x.AddAsync(It.Is <TodoItem>(y => y == testObject), CancellationToken.None)); }
public void GetRoleByIdTest() { var ctx = new Mock <IContext>(); List <Role> roles = new List <Role>(); roles.Add(new Role() { Id = 1, Name = "Role1" }); roles.Add(new Role() { Id = 2, Name = "Role2" }); var rolesMockDbSet = ServiceTestsHelper.GetMockDbSet <Role>(roles); ctx.Setup(c => c.Set <Role>()).Returns(rolesMockDbSet.Object); IRoleService roleService = new RoleService(ctx.Object); var role = roleService.GetRoleById(1); Assert.Equal("Role1", role.Name); }
public void CreateUserTest() { var ctx = new Mock <IContext>(); List <Role> roles = new List <Role> { new Role() { Id = 1, Name = "Role1" }, new Role() { Id = 2, Name = "Role2" } }; var rolesMockDbSet = ServiceTestsHelper.GetMockDbSet <Role>(roles); var userRolesMockDbSet = ServiceTestsHelper.GetMockDbSet <UserRole>(new List <UserRole>()); var usersMockDbSet = ServiceTestsHelper.GetMockDbSet <User>(new List <User>()); ctx.Setup(c => c.Set <Role>()).Returns(rolesMockDbSet.Object); ctx.Setup(c => c.Set <User>()).Returns(usersMockDbSet.Object); ctx.Setup(c => c.Set <UserRole>()).Returns(userRolesMockDbSet.Object); IUserService userService = new UserService(ctx.Object); IRoleService roleService = new RoleService(ctx.Object); IUserRoleService userRoleService = new UserRoleService(ctx.Object); IEncryptionService encryptionService = new EncryptionService(); IMembershipService service = new MembershipService(userService, encryptionService, roleService, userRoleService); User result = service.CreateUser("testUser1", "*****@*****.**", "password", new List <int>() { 1, 2 }); usersMockDbSet.Verify(m => m.Add(It.IsAny <User>()), Times.Once); userRolesMockDbSet.Verify(m => m.Add(It.IsAny <UserRole>()), Times.Exactly(2)); }