public void GetRolesForDisplayNullUserRolesTests()
        {
            //Arrange
            var allRoles = UserRoleAdminPageModelServiceTests.GetAllRoleModels();
            var user     = UserRoleAdminPageModelServiceTests.GetUserWithNullRoles();

            //Act
            var result = new UserRoleAdminPageModelService().GetRolesForDisplay(user, allRoles);

            //Assert
            Assert.IsNotNull(result);

            var kvp = result.First(r => r.Key == "AllRoles");

            Assert.AreEqual("AllRoles", kvp.Key);

            List <string> allRolesList = kvp.Value as List <string>;

            Assert.IsNotNull(allRolesList);
            Assert.IsTrue(allRolesList.Count == 3);
            Assert.IsTrue(allRolesList.Contains("Role1"));
            Assert.IsTrue(allRolesList.Contains("Role2"));
            Assert.IsTrue(allRolesList.Contains("Role3"));

            kvp = result.First(r => r.Key == "UserRoles");
            Assert.AreEqual("UserRoles", kvp.Key);

            List <string> userRolesList = kvp.Value as List <string>;

            Assert.IsNotNull(userRolesList);
            Assert.IsTrue(userRolesList.Count == 0);
        }
        public void ProcessSelectedUserRolesTests()
        {
            //Arrange
            var allRoles      = UserRoleAdminPageModelServiceTests.GetAllRoleModels();
            var selectedRoles = UserRoleAdminPageModelServiceTests.GetSelectedRoles();

            //Act
            var result = new UserRoleAdminPageModelService().ProcessSelectedUserRoles(selectedRoles, allRoles);

            //Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Any());
            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result.Exists(r => r.RoleId == 1 && r.RoleName == "Role1"));
        }
        public void ProcessSelectedUserRolesInvalidTests()
        {
            //Arrange
            var allRoles      = UserRoleAdminPageModelServiceTests.GetAllRoleModels();
            var selectedRoles = UserRoleAdminPageModelServiceTests.GetSelectedRoles();

            //Act
            var result = new UserRoleAdminPageModelService().ProcessSelectedUserRoles(new StringValues(), allRoles);

            //Assert
            Assert.IsNull(result);

            //Act
            result = new UserRoleAdminPageModelService().ProcessSelectedUserRoles(selectedRoles, null);

            //Assert
            Assert.IsNull(result);

            RoleModels emptyRoles = new RoleModels {
                Roles = null
            };

            //Act
            result = new UserRoleAdminPageModelService().ProcessSelectedUserRoles(selectedRoles, emptyRoles);

            //Assert
            Assert.IsNull(result);

            emptyRoles = new RoleModels {
                Roles = new List <RoleModel>()
            };

            //Act
            result = new UserRoleAdminPageModelService().ProcessSelectedUserRoles(selectedRoles, emptyRoles);

            //Assert
            Assert.IsNull(result);
        }
        public void GetRolesForDisplayInvalidTests()
        {
            //Arrange
            var allRoles = UserRoleAdminPageModelServiceTests.GetAllRoleModels();
            var user     = UserRoleAdminPageModelServiceTests.GetUser();

            //Act
            var result = new UserRoleAdminPageModelService().GetRolesForDisplay(null, allRoles);

            //Assert
            Assert.IsNotNull(result);
            var kvp = result.First(r => r.Key == "AllRoles");

            Assert.AreEqual("AllRoles", kvp.Key);

            List <string> allRolesList = kvp.Value as List <string>;

            Assert.IsNotNull(allRolesList);
            Assert.IsTrue(allRolesList.Count == 3);
            Assert.IsTrue(allRolesList.Contains("Role1"));
            Assert.IsTrue(allRolesList.Contains("Role2"));
            Assert.IsTrue(allRolesList.Contains("Role3"));

            result = new UserRoleAdminPageModelService().GetRolesForDisplay(user, null);

            //Assert
            Assert.IsNotNull(result);
            kvp = result.First(r => r.Key == "AllRoles");
            Assert.AreEqual("AllRoles", kvp.Key);

            allRolesList = kvp.Value as List <string>;
            Assert.IsNotNull(allRolesList);
            Assert.IsTrue(allRolesList.Count == 0);

            var copyuser = user;

            copyuser.Roles = null;
            result         = new UserRoleAdminPageModelService().GetRolesForDisplay(copyuser, allRoles);

            //Assert
            Assert.IsNotNull(result);
            kvp = result.First(r => r.Key == "AllRoles");
            Assert.AreEqual("AllRoles", kvp.Key);

            allRolesList = kvp.Value as List <string>;
            Assert.IsNotNull(allRolesList);
            Assert.IsTrue(allRolesList.Count == 3);
            Assert.IsTrue(allRolesList.Contains("Role1"));
            Assert.IsTrue(allRolesList.Contains("Role2"));
            Assert.IsTrue(allRolesList.Contains("Role3"));

            var copyallroles = allRoles;

            copyallroles.Roles = null;

            result = new UserRoleAdminPageModelService().GetRolesForDisplay(user, copyallroles);

            //Assert
            Assert.IsNotNull(result);
            kvp = result.First(r => r.Key == "AllRoles");
            Assert.AreEqual("AllRoles", kvp.Key);

            allRolesList = kvp.Value as List <string>;
            Assert.IsNotNull(allRolesList);
            Assert.IsTrue(allRolesList.Count == 0);
        }