public void TestRoleServiceGetVisibleByUserReturnsExpectedResults3()
{
#region Arrange
var applicationRoleRepository = FakeRepository<ApplicationRole>();
RoleService = new RoleService(PermissionRepository, applicationRoleRepository);
ControllerRecordFakes.FakeApplications(3, ApplicationRepository);
ControllerRecordFakes.FakeUsers(3, UserRepository);
ControllerRecordFakes.FakeRoles(10, RoleRepository);
var permissions = new List<Permission>();
for (int i = 0; i < 7; i++)
{
permissions.Add(CreateValidEntities.Permission(i + 1));
permissions[i].Application = ApplicationRepository.Queryable.First();
permissions[i].User = UserRepository.GetNullableById(2);
permissions[i].Role = RoleRepository.GetNullableById(i + 1);
}
permissions[1].Application = ApplicationRepository.GetNullableById(2);
permissions[2].User = UserRepository.GetNullableById(1);
ControllerRecordFakes.FakePermissions(0, PermissionRepository, permissions);
applicationRoleRepository.Expect(a => a.Queryable).Return(new List<ApplicationRole>().AsQueryable()).Repeat.Any();
#endregion Arrange
#region Act
var result = RoleService.GetVisibleByUser("Name2", "LoginId2");
#endregion Act
#region Assert
Assert.IsNotNull(result);
Assert.IsInstanceOfType(result, typeof(IQueryable<Role>));
Assert.AreEqual(1, result.Count());
Assert.AreEqual("Name2", result.ElementAt(0).Name);
#endregion Assert
}