public void Return_Empty_UserRoles_For_InValid_UserId()
        {
            // Perform
            IUserRepository repository = new UserRepository(testDBContext as IUnitOfWork);
            IEnumerable<UserRole> userRoles = repository.GetUserRolesByUserId(-1); // Invalid user id passed

            // Check is the count is zero
            Assert.AreEqual(userRoles.Count(), 0);
        }
        public void Get_UserRoles_For_Valid_UserId()
        {
            // Prepare
            AddDefaultRoles();
            User newUser = new User()
            {
                NameIdentifier = "s0Me1De9Tf!Er$tRing",
                FirstName = "SomeFirstName",
                MiddleName = "SomeMiddleName",
                LastName = "SomeLastName",
                IdentityProvider = "Windows Live",
                Organization = "SomeOrganization",
                EmailId = "*****@*****.**",
                CreatedOn = DateTime.Now,
                ModifiedOn = DateTime.Now,
                IsActive = true
            };
            AddUserWithDefaultRoles(newUser);
            User addedUser = testDBContext.Users.Find(1);

            // Perform
            IUserRepository repository = new UserRepository(testDBContext as IUnitOfWork);
            IEnumerable<UserRole> userRoles = repository.GetUserRolesByUserId(addedUser.UserId);

            // Check if valid user roles collection is returned
            Assert.IsNotNull(userRoles);

            // Check if the count of items in user role collection is 2, since the preparation code
            // added 2 roles to user
            Assert.AreEqual(userRoles.Count(), 2);

            // Check if the administrator role exists
            Assert.AreEqual(userRoles.Count<UserRole>(r => r.RoleId.Equals(GetAdministratorRoleId())), 1);

            // Check if the user role exists
            Assert.AreEqual(userRoles.Count<UserRole>(r => r.RoleId.Equals(GetUserRoleId())), 1);
        }