public async Task GetRole() { var options = TestHelper.GetDbContext("GetRole"); //Given var role1 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_1", Description = "Role 1", ApplicationId = Guid.NewGuid() }; var role2 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_2", Description = "Role 2", ApplicationId = Guid.NewGuid() }; var role3 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_3", Description = "Role 3", ApplicationId = Guid.NewGuid() }; var roleToUseCase1 = new RoleToUseCaseEntity { RoleId = role1.Id, UseCaseId = "uc1" }; var roleToUseCase2 = new RoleToUseCaseEntity { RoleId = role1.Id, UseCaseId = "uc2" }; var roleToUseCase3 = new RoleToUseCaseEntity { RoleId = role2.Id, UseCaseId = "uc3" }; using (var context = new DataContext(options)) { context.Roles.Add(role3); context.Roles.Add(role1); context.Roles.Add(role2); context.RoleToUseCase.Add(roleToUseCase1); context.RoleToUseCase.Add(roleToUseCase2); context.RoleToUseCase.Add(roleToUseCase3); context.SaveChanges(); } using (var context = new DataContext(options)) { var service = new RoleService(context); //When var actual = await service.GetRole(role1.Id); //Then Assert.Equal(role1.Id, actual.Id); Assert.Equal(role1.Name, actual.Name); Assert.Equal(role1.Description, actual.Description); Assert.Equal(role1.ApplicationId, actual.ApplicationId); Assert.Equal(2, actual.UseCaseIds.Count()); Assert.Equal("uc1", actual.UseCaseIds.ToArray()[0]); Assert.Equal("uc2", actual.UseCaseIds.ToArray()[1]); } }
public async Task HasUseCase_DoesHave() { var options = TestHelper.GetDbContext("HasUseCase_DoesHave"); //Given var role1 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_1" }; var role2 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_2" }; var useCase = new UseCaseEntity { Id = "usecase_1" }; var roleToUseCase = new RoleToUseCaseEntity { RoleId = role2.Id, UseCaseId = useCase.Id }; using (var context = new DataContext(options)) { context.Roles.Add(role1); context.Roles.Add(role2); context.UseCase.Add(useCase); context.RoleToUseCase.Add(roleToUseCase); context.SaveChanges(); } using (var context = new DataContext(options)) { var service = new RoleService(context); //When var actual = await service.HasUseCase(new List <string>() { role2.Name }, new List <string>() { useCase.Id }); //Then Assert.True(actual); } }
public async Task GetUseCases_ForRoles() { var options = TestHelper.GetDbContext("GetUseCases_ForRoles"); //Given var uc1 = new UseCaseEntity { Id = "uc_1", Name = "UseCase 1", ApplicationId = Guid.NewGuid() }; var uc2 = new UseCaseEntity { Id = "uc_2", Name = "UseCase 2", ApplicationId = Guid.NewGuid() }; var uc3 = new UseCaseEntity { Id = "uc_3", Name = "UseCase 3", ApplicationId = Guid.NewGuid() }; var uc4 = new UseCaseEntity { Id = "uc_4", Name = "UseCase 4", ApplicationId = Guid.NewGuid() }; var role1 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_1", Description = "Role 1", ApplicationId = Guid.NewGuid() }; var role2 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_2", Description = "Role 2", ApplicationId = Guid.NewGuid() }; var role3 = new RoleEntity { Id = Guid.NewGuid(), Name = "role_3", Description = "Role 3", ApplicationId = Guid.NewGuid() }; var rtuc1 = new RoleToUseCaseEntity { UseCaseId = "uc_1", RoleId = role1.Id }; var rtuc2 = new RoleToUseCaseEntity { UseCaseId = "uc_2", RoleId = role2.Id }; var rtuc3 = new RoleToUseCaseEntity { UseCaseId = "uc_3", RoleId = role3.Id }; var rtuc4 = new RoleToUseCaseEntity { UseCaseId = "uc_1", RoleId = role3.Id }; var rtuc5 = new RoleToUseCaseEntity { UseCaseId = "uc_4", RoleId = role2.Id }; using (var context = new DataContext(options)) { context.UseCase.Add(uc1); context.UseCase.Add(uc3); context.UseCase.Add(uc2); context.UseCase.Add(uc4); context.Roles.Add(role1); context.Roles.Add(role3); context.Roles.Add(role2); context.RoleToUseCase.Add(rtuc1); context.RoleToUseCase.Add(rtuc3); context.RoleToUseCase.Add(rtuc2); context.RoleToUseCase.Add(rtuc5); context.RoleToUseCase.Add(rtuc4); context.SaveChanges(); } using (var context = new DataContext(options)) { var service = new UseCaseService(context); //When var list = await service.GetUseCases(new List <string>() { "role_1", "role_3" }); //Then Assert.Equal(2, list.Count); var actual1 = list[0]; Assert.Equal(uc1.Id, actual1); var actual2 = list[1]; Assert.Equal(uc3.Id, actual2); } }
public async Task UpdateRole() { var options = TestHelper.GetDbContext("UpdateRole"); //Given var role1 = new RoleEntity { Id = Guid.NewGuid(), Name = "Role 1", Description = "Role 1 Desc", ApplicationId = Guid.NewGuid() }; var ru1 = new RoleToUseCaseEntity { RoleId = role1.Id, UseCaseId = "uc1" }; var role2 = new RoleEntity { Id = Guid.NewGuid(), Name = "Role 2", Description = "Role 2 Desc", ApplicationId = Guid.NewGuid() }; var ru2 = new RoleToUseCaseEntity { RoleId = role2.Id, UseCaseId = "uc2" }; using (var context = new DataContext(options)) { context.Roles.Add(role1); context.RoleToUseCase.Add(ru1); context.Roles.Add(role2); context.RoleToUseCase.Add(ru2); context.SaveChanges(); } var role = new RoleEdit() { Id = role2.Id, Name = "Branch 2 - updated", Description = "Branch 2 Desc - updated", ApplicationId = Guid.NewGuid(), UseCaseIds = new List <string>() { "uc4", "uc5" } }; using (var context = new DataContext(options)) { var service = new RoleService(context); //When var result = await service.UpdateRole(role); //Then Assert.True(result.Success); var actual = await context.Roles.FindAsync(role.Id); Assert.Equal(role.Name, actual.Name); Assert.Equal(role.Description, actual.Description); Assert.Equal(role.ApplicationId, actual.ApplicationId); var roleToUseCases = await context.RoleToUseCase.Where(r => r.RoleId == actual.Id).ToListAsync(); Assert.Equal(2, roleToUseCases.Count); Assert.Equal("uc4", roleToUseCases[0].UseCaseId); Assert.Equal("uc5", roleToUseCases[1].UseCaseId); } }