docbrown/app/policies
Jeremy Friesen d1069af35c
Adding ArticlePolicy#moderate? (#16786)
This commit does three things:

1) Adds and tests the ArticlePolicy#moderate? feature
2) Refactors the spec helpers to be a bit more flexible
3) Adds a few more edge case tests around ArticlePolicy

My apologies for conflating these changes, as it makes this commit
more challenging to review.

The goal is to adequate demonstrate the logic around users who can or
cannot moderate.  At present, the rules for who can moderate is here:

841491c6ee/app/javascript/packs/articleModerationTools.js (L17-L27)

```js
if (user?.trusted) {
   if (user?.id !== articleAuthorId && !isModerationPage()) {
     initializeActionsPanel(user, path);
     initializeFlagUserModal(articleAuthorId);
     // "/mod" page
   } else if (isModerationPage()) {
     initializeActionsPanel(user, path);
     initializeFlagUserModal(articleAuthorId);
   }
}
```

- Related to forem/forem#16783
- Closes forem/forem#16784
2022-03-07 15:27:43 -05:00
..
admin_policy.rb Renaming policy methods for consistency (#16523) 2022-02-11 09:10:54 -05:00
api_secret_policy.rb Rename unidiomatic methods (#13328) 2021-04-09 10:59:56 -05:00
application_policy.rb Ensuring the VideoPolicy adhears to article creation (#16762) 2022-03-07 15:27:18 -05:00
article_policy.rb Adding ArticlePolicy#moderate? (#16786) 2022-03-07 15:27:43 -05:00
authorizer.rb Removing deprecated User methods (#16435) 2022-02-07 10:32:58 -05:00
comment_policy.rb Adjusting suspended user authorizations (#16634) 2022-02-21 10:08:24 -05:00
consumer_app_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
discussion_lock_policy.rb Renaming policy methods for consistency (#16523) 2022-02-11 09:10:54 -05:00
follow_policy.rb Adjusting suspended user authorizations (#16634) 2022-02-21 10:08:24 -05:00
github_repo_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
html_variant_policy.rb Renaming policy methods for consistency (#16523) 2022-02-11 09:10:54 -05:00
image_upload_policy.rb Rename banned and comment_banned roles (#12270) 2021-04-06 10:12:14 -05:00
internal_policy.rb Refactoring questions asked of user (#15762) 2021-12-21 12:45:12 -05:00
liquid_tag_policy.rb small non-views ruby i18n (#16004) 2022-01-11 10:05:18 +07:00
listing_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
message_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
organization_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
pinned_article_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
rating_vote_policy.rb Rename banned and comment_banned roles (#12270) 2021-04-06 10:12:14 -05:00
reaction_policy.rb Adjusting suspended user authorizations (#16634) 2022-02-21 10:08:24 -05:00
registration_policy.rb Refactor RegistrationsController (#13903) 2021-06-08 17:03:41 -04:00
response_template_policy.rb Renaming policy methods for consistency (#16523) 2022-02-11 09:10:54 -05:00
stripe_active_card_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
stripe_subscription_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
tag_policy.rb Renaming policy methods for consistency (#16523) 2022-02-11 09:10:54 -05:00
user_block_policy.rb Favoring method aliasing over explicit delegation (#16526) 2022-02-10 11:09:17 -05:00
user_policy.rb Renaming policy methods for consistency (#16523) 2022-02-11 09:10:54 -05:00
video_policy.rb Ensuring the VideoPolicy adhears to article creation (#16762) 2022-03-07 15:27:18 -05:00