Beispiel #1
0
        public void CanEdit_InvalidState_ReturnsFalse()
        {
            validator.ModelState.AddModelError("Test", "Test");

            Assert.False(validator.CanEdit(ObjectsFactory.CreateRoleView(role.Id + 1)));
            Assert.Single(validator.ModelState);
        }
Beispiel #2
0
        public void MapRoles_RoleView_Role()
        {
            RoleView expected = ObjectsFactory.CreateRoleView();
            Role     actual   = Mapper.Map <Role>(expected);

            Assert.Equal(expected.CreationDate, actual.CreationDate);
            Assert.Equal(expected.Title, actual.Title);
            Assert.Equal(expected.Id, actual.Id);
            Assert.Empty(actual.Permissions);
        }
        public void Seed_BranchesWithoutId()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            service.Seed(view.Permissions);

            IEnumerable <MvcTreeNode> nodes    = view.Permissions.Nodes;
            IEnumerable <MvcTreeNode> branches = GetBranchNodes(nodes);

            Assert.Empty(branches.Where(branch => branch.Id != null));
        }
        public void Seed_LeafsWithId()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            service.Seed(view.Permissions);

            IEnumerable <MvcTreeNode> nodes = view.Permissions.Nodes;
            IEnumerable <MvcTreeNode> leafs = GetLeafNodes(nodes);

            Assert.Empty(leafs.Where(leaf => leaf.Id == null));
        }
Beispiel #5
0
        public RolesTests()
        {
            role       = ObjectsFactory.CreateRoleView(0);
            service    = Substitute.For <IRoleService>();
            validator  = Substitute.For <IRoleValidator>();
            controller = Substitute.ForPartsOf <Roles>(validator, service);

            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            controller.Authorization.Returns(Substitute.For <IAuthorization>());
            controller.ControllerContext.RouteData = new RouteData();
        }
Beispiel #6
0
        public void Seed_LeafsWithId()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            service.Seed(view.Permissions);

            IEnumerable <MvcTreeNode> actual = GetLeafNodes(view.Permissions.Nodes);

            Assert.Empty(actual.Where(leaf => leaf.Id == null));
            Assert.Equal(4, actual.Count());
        }
Beispiel #7
0
        public void CanEdit_UsedTitle_ReturnsFalse()
        {
            RoleView view = ObjectsFactory.CreateRoleView(1);

            view.Title = role.Title.ToLower();

            Boolean canEdit = validator.CanEdit(view);

            Assert.False(canEdit);
            Assert.Single(validator.ModelState);
            Assert.Equal(Validation.For <RoleView>("UniqueTitle"), validator.ModelState["Title"].Errors.Single().ErrorMessage);
        }
        public void Create_Role()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            service.Create(view);

            Role     actual   = Assert.Single(context.Set <Role>(), model => model.Id != role.Id);
            RoleView expected = view;

            Assert.Equal(expected.CreationDate, actual.CreationDate);
            Assert.Equal(expected.Title, actual.Title);
        }
Beispiel #9
0
        public void CanCreate_UsedTitle_ReturnsFalse()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            view.Title = role.Title.ToLower();
            view.Id    = role.Id;

            Boolean canCreate = validator.CanCreate(view);

            Assert.False(canCreate);
            Assert.Single(validator.ModelState);
            Assert.Equal(Validation.For <RoleView>("UniqueTitle"), validator.ModelState[nameof(RoleView.Title)].Errors.Single().ErrorMessage);
        }
Beispiel #10
0
        public RolesControllerTests()
        {
            validator = Substitute.For <IRoleValidator>();
            service   = Substitute.For <IRoleService>();

            role = ObjectsFactory.CreateRoleView();

            controller = Substitute.ForPartsOf <RolesController>(validator, service);
            controller.ControllerContext.HttpContext = Substitute.For <HttpContext>();
            controller.TempData = Substitute.For <ITempDataDictionary>();
            controller.ControllerContext.RouteData = new RouteData();
            controller.Url = Substitute.For <IUrlHelper>();
        }
        public void Edit_Role()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id);

            view.Title = role.Title += "Test";

            service.Edit(view);

            Role actual   = Assert.Single(context.Set <Role>().AsNoTracking());
            Role expected = role;

            Assert.Equal(expected.CreationDate, actual.CreationDate);
            Assert.Equal(expected.Title, actual.Title);
            Assert.Equal(expected.Id, actual.Id);
        }
        public void Seed_FirstDepth()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            service.Seed(view.Permissions);

            List <MvcTreeNode> expected = CreatePermissions().Nodes;
            List <MvcTreeNode> actual   = view.Permissions.Nodes;

            for (Int32 i = 0; i < expected.Count || i < actual.Count; i++)
            {
                Assert.Equal(expected[i].Id, actual[i].Id);
                Assert.Equal(expected[i].Title, actual[i].Title);
                Assert.Equal(expected[i].Children.Count, actual[i].Children.Count);
            }
        }
Beispiel #13
0
        public void SeedPermissions_ThirdDepth()
        {
            RoleView view = ObjectsFactory.CreateRoleView();

            service.SeedPermissions(view);

            List <MvcTreeNode> expected = CreatePermissions().Nodes.SelectMany(node => node.Children).SelectMany(node => node.Children).ToList();
            List <MvcTreeNode> actual   = view.Permissions.Nodes.SelectMany(node => node.Children).SelectMany(node => node.Children).ToList();

            for (Int32 i = 0; i < expected.Count || i < actual.Count; i++)
            {
                Assert.Equal(expected[i].Id, actual[i].Id);
                Assert.Equal(expected[i].Title, actual[i].Title);
                Assert.Equal(expected[i].Children.Count, actual[i].Children.Count);
            }
        }
        public void Create_RolePermissions()
        {
            RoleView view = ObjectsFactory.CreateRoleView(role.Id + 1);

            view.Permissions = CreatePermissions();

            service.Create(view);

            IEnumerable <Int64> expected = view.Permissions.SelectedIds.OrderBy(permissionId => permissionId);
            IEnumerable <Int64> actual   = context
                                           .Set <RolePermission>()
                                           .Where(rolePermission => rolePermission.RoleId != role.Id)
                                           .Select(rolePermission => rolePermission.PermissionId)
                                           .OrderBy(permissionId => permissionId);

            Assert.Equal(expected, actual);
        }
        public void Edit_RolePermissions()
        {
            Permission permission = ObjectsFactory.CreatePermission(0);

            context.Add(permission);
            context.SaveChanges();

            RoleView view = ObjectsFactory.CreateRoleView(role.Id);

            view.Permissions = CreatePermissions();
            view.Permissions.SelectedIds.Remove(view.Permissions.SelectedIds.First());
            view.Permissions.SelectedIds.Add(permission.Id);

            service.Edit(view);

            IEnumerable <Int64> actual   = context.Set <RolePermission>().AsNoTracking().Select(rolePermission => rolePermission.PermissionId).OrderBy(permissionId => permissionId);
            IEnumerable <Int64> expected = view.Permissions.SelectedIds.OrderBy(permissionId => permissionId);

            Assert.Equal(expected, actual);
        }
Beispiel #16
0
 public void CanEdit_ValidRole()
 {
     Assert.True(validator.CanEdit(ObjectsFactory.CreateRoleView(role.Id)));
     Assert.Empty(validator.ModelState);
     Assert.Empty(validator.Alerts);
 }
Beispiel #17
0
        public void CanCreate_InvalidState_ReturnsFalse()
        {
            validator.ModelState.AddModelError("Test", "Test");

            Assert.False(validator.CanCreate(ObjectsFactory.CreateRoleView(1)));
        }
Beispiel #18
0
 public void IsSpecified_Valid()
 {
     Assert.True(validator.BaseIsSpecified(ObjectsFactory.CreateRoleView(), role => role.Id));
     Assert.Empty(validator.ModelState);
     Assert.Empty(validator.Alerts);
 }