public void ContentEditorControllerTest_Actions_Secured_By_Permissions() { //Arrange var backOfficeRequestContext = GetBackOfficeRequestContext(); var controller = new ContentEditorController(backOfficeRequestContext); controller.InjectDependencies(GetBackOfficeRequestContext()); //TODO: There may be a better way of automatically getting a single controller variable using the controller extenders, //but likely that's just testing the action invoker, so for now here's the individual controllers var copyController = new MoveCopyController(backOfficeRequestContext); copyController.InjectDependencies(GetBackOfficeRequestContext()); var sortController = new SortController(backOfficeRequestContext); sortController.InjectDependencies(GetBackOfficeRequestContext()); var publishController = new PublishController(backOfficeRequestContext); publishController.InjectDependencies(GetBackOfficeRequestContext()); var hos = new HostnameController(backOfficeRequestContext); hos.InjectDependencies(GetBackOfficeRequestContext()); var rollback = new RollbackController(backOfficeRequestContext); rollback.InjectDependencies(GetBackOfficeRequestContext()); var permissions = new PermissionsController(backOfficeRequestContext); permissions.InjectDependencies(GetBackOfficeRequestContext()); //Assert Assert.IsTrue(ActionIsSecuredByPermission(controller, "CreateNew", FixedPermissionIds.Create)); Assert.IsTrue(ActionIsSecuredByPermission(controller, "Edit", FixedPermissionIds.Update)); Assert.IsTrue(ActionIsSecuredByPermission(controller, "Delete", FixedPermissionIds.Delete)); Assert.IsTrue(ActionIsSecuredByPermission(copyController, "Copy", FixedPermissionIds.Copy)); Assert.IsTrue(ActionIsSecuredByPermission(copyController, "Move", FixedPermissionIds.Move)); Assert.IsTrue(ActionIsSecuredByPermission(sortController, "Sort", FixedPermissionIds.Sort)); Assert.IsTrue(ActionIsSecuredByPermission(publishController, "Publish", FixedPermissionIds.Publish)); Assert.IsTrue(ActionIsSecuredByPermission(permissions, "Permissions", FixedPermissionIds.Permissions)); Assert.IsTrue(ActionIsSecuredByPermission(rollback, "Rollback", FixedPermissionIds.Rollback)); // TODO: (APN @ Matt) the assertion for action name doesn't take into account two methods with the same name // but differing parameter counts, so this one fails // NOTE: (MPB) Have renamed post action to HostnameForm to get test passing for now, not sure if that is enough // or whether assertion method should allow you to query for a specific method signature? Assert.IsTrue(ActionIsSecuredByPermission(hos, "Hostname", FixedPermissionIds.Hostnames)); }