From 66b02b50373f80956afe808c00666847854c38a7 Mon Sep 17 00:00:00 2001 From: Lily Date: Sat, 31 Jul 2021 21:53:54 -0300 Subject: [PATCH] add tests for note locks fix naming scheme for mod actions --- app/models/post.rb | 12 +++++------ test/unit/post_test.rb | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/app/models/post.rb b/app/models/post.rb index ed88a4990..804bf47fa 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1496,25 +1496,25 @@ class Post < ApplicationRecord def create_mod_action_for_lock_change if is_note_locked != is_note_locked_was if is_note_locked - ModAction.log("locked notes for post ##{id}", :post_note_lock) + ModAction.log("locked notes for post ##{id}", :post_note_lock_create) else - ModAction.log("unlocked notes for post ##{id}", :post_note_unlock) + ModAction.log("unlocked notes for post ##{id}", :post_note_lock_delete) end end if is_rating_locked != is_rating_locked_was if is_rating_locked - ModAction.log("locked rating for post ##{id}", :post_rating_lock) + ModAction.log("locked rating for post ##{id}", :post_rating_lock_create) else - ModAction.log("unlocked rating for post ##{id}", :post_rating_unlock) + ModAction.log("unlocked rating for post ##{id}", :post_rating_lock_delete) end end if is_status_locked != is_status_locked_was if is_status_locked - ModAction.log("locked status for post ##{id}", :post_status_lock) + ModAction.log("locked status for post ##{id}", :post_status_lock_create) else - ModAction.log("unlocked status for post ##{id}", :post_status_unlock) + ModAction.log("unlocked status for post ##{id}", :post_status_lock_delete) end end end diff --git a/test/unit/post_test.rb b/test/unit/post_test.rb index 4ad48f51a..7482fd8fb 100644 --- a/test/unit/post_test.rb +++ b/test/unit/post_test.rb @@ -534,6 +534,52 @@ class PostTest < ActiveSupport::TestCase assert_includes(approval.errors.full_messages, "Post is locked and cannot be approved") end end + + context "Locking post fields" do + should "create ModAction entries" do + @post = create(:post) + assert_difference("ModAction.post_note_lock_create.count", 1) do + @post.is_note_locked = true + @post.save! + end + + assert_difference("ModAction.post_note_lock_delete.count", 1) do + @post.is_note_locked = false + @post.save! + end + + assert_difference("ModAction.post_rating_lock_create.count", 1) do + @post.is_rating_locked = true + @post.save! + end + + assert_difference("ModAction.post_rating_lock_delete.count", 1) do + @post.is_rating_locked = false + @post.save! + end + + assert_difference("ModAction.post_status_lock_create.count", 1) do + @post.is_status_locked = true + @post.save! + end + + assert_difference("ModAction.post_status_lock_delete.count", 1) do + @post.is_status_locked = false + @post.save! + end + + assert_difference("ModAction.post_status_lock_create.count", 1) do + assert_difference("ModAction.post_rating_lock_create.count", 1) do + assert_difference("ModAction.post_note_lock_create.count", 1) do + @post.is_status_locked = true + @post.is_rating_locked = true + @post.is_note_locked = true + @post.save! + end + end + end + end + end end context "Tagging:" do