discourse/spec/services
Blake Erickson 367de2594d
FIX: Unlike own posts on ownership transfer (#10446)
* FIX: Unlike own posts on ownership transfer

If a user has liked a post that has passed the
`post_undo_action_window_mins` system setting window and you transfer ownership
of that post to that user you will be the owner of a post that you have
liked, but cannot unlike resulting in a weird UI behavior. This commit
fixes this issue.

The existing tests didn't check for the timeout window for unliking
posts so I added that in.

I couldn't find a good way to do this logic inside of the guardian class
so rather than duplicating behavior of the `PostActionDestroyer` class
inside of the `PostOwnerChanger` I decided to pass in a "bypass"
variable that could be used to check if the calling class is the
'post_owner_changer' and bypass the guardian instead. I went this route
because the guardian `can_delete_post_action` method has no way of
distinguishing how to allow a user to be able to unlike their own posts
after the timeout window but only on a post owner change.

* use an options hash instead
2020-08-19 09:21:02 -06:00
..
anonymous_shadow_creator_spec.rb FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
auto_silence_spec.rb Migrate score settings to use sensitivities 2019-05-24 15:44:24 -04:00
badge_granter_spec.rb FEATURE: add option to skip new user tips in first notification. (#10462) 2020-08-18 13:43:40 +05:30
color_scheme_revisor_spec.rb DEV: use #frozen_string_literal: true on all spec 2019-04-30 10:27:42 +10:00
destroy_task_spec.rb DEV: Default to skipping creating a topic when fabricating categories (#7976) 2019-08-06 11:26:54 +01:00
email_style_updater_spec.rb FEATURE: support SCSS in custom email style 2019-10-23 15:42:37 -04:00
flag_sockpuppets_spec.rb FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
group_action_logger_spec.rb DEV: Prefabrication (test optimization) (#7414) 2019-05-07 13:12:20 +10:00
group_mentions_updater_spec.rb Link website when reviewing users 2020-02-19 10:18:05 -05:00
group_message_spec.rb DEV: s/\$redis/Discourse\.redis (#8431) 2019-12-03 10:05:53 +01:00
heat_settings_updater_spec.rb FIX: round the calculated heat values 2019-06-06 15:44:55 -04:00
inline_uploads_spec.rb FIX: Make InlineUploads handle more URL formats (#9467) 2020-04-21 03:47:48 +02:00
notification_emailer_spec.rb Update rubocop to 2.3.1. 2020-07-24 17:19:21 +08:00
post_action_notifier_spec.rb DEV: adds plugin api to add custom recipients of a post revision (#10367) 2020-08-04 11:57:33 +02:00
post_alerter_spec.rb FEATURE: don't notify about changed tags for a private message (#10408) 2020-08-13 17:22:34 +10:00
post_owner_changer_spec.rb FIX: Unlike own posts on ownership transfer (#10446) 2020-08-19 09:21:02 -06:00
push_notification_pusher_spec.rb DEV: use #frozen_string_literal: true on all spec 2019-04-30 10:27:42 +10:00
random_topic_selector_spec.rb DEV: s/\$redis/Discourse\.redis (#8431) 2019-12-03 10:05:53 +01:00
search_indexer_spec.rb PERF: Add partial index for non-pm search. 2020-08-18 15:55:08 +08:00
site_settings_spec.rb Fix the build. 2020-06-22 14:50:17 +08:00
staff_action_logger_spec.rb FEATURE - allow Group Moderators to edit category description (#10292) 2020-07-23 09:50:00 -04:00
themes_spec.rb FIX: update theme fields when updating from ThemesInstallTask (#10143) 2020-06-29 13:49:02 -05:00
topic_status_updater_spec.rb FIX: use the new duration attribute in set_or_create_timer method. 2020-03-19 21:45:05 +05:30
topic_timestamp_changer_spec.rb DEV: Improve flaky time-sensitive specs (#9141) 2020-03-10 22:13:17 +01:00
trust_level_granter_spec.rb DEV: use #frozen_string_literal: true on all spec 2019-04-30 10:27:42 +10:00
user_activator_spec.rb Update rubocop to 2.3.1. 2020-07-24 17:19:21 +08:00
user_anonymizer_spec.rb FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
user_authenticator_spec.rb DEV: Upgrading Discourse to Zeitwerk (#8098) 2019-10-02 14:01:53 +10:00
user_destroyer_spec.rb FIX: Avoid validation error when deleting users with locked trust level 2020-07-27 17:40:10 +01:00
user_merger_spec.rb FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
user_silencer_spec.rb DEV: Prefabrication (test optimization) (#7414) 2019-05-07 13:12:20 +10:00
user_updater_spec.rb User card settings (#10302) 2020-08-17 12:37:45 -04:00
username_changer_spec.rb FEATURE: trigger user_updated event if username is changed. 2020-07-03 00:14:19 +05:30
username_checker_service_spec.rb DEV: use #frozen_string_literal: true on all spec 2019-04-30 10:27:42 +10:00
wildcard_domain_checker_spec.rb SECURITY: vulnerability in WildcardUrlChecker 2019-12-13 09:29:09 -05:00
wildcard_url_checker_spec.rb FIX: Allow any protocol in wildcard url checker (#8651) 2020-01-02 16:03:13 +00:00
word_watcher_spec.rb Revert "Revert "Merge branch 'master' of https://github.com/discourse/discourse"" 2020-05-23 00:56:13 -04:00