Touch board when publication is created or destroyed (#2674)
Publishing or unpublishing a board didn't bust the `json.cache! board` fragment cache because `Board::Publication` didn't touch its parent board. The board's `updated_at` stayed stale, so subsequent GET requests continued serving cached JSON without `public_url`.
This commit is contained in:
@@ -42,6 +42,20 @@ class Board::PublishableTest < ActiveSupport::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
test "touch board when publication is created" do
|
||||
assert_changes -> { boards(:writebook).reload.updated_at } do
|
||||
boards(:writebook).publish
|
||||
end
|
||||
end
|
||||
|
||||
test "touch board when publication is destroyed" do
|
||||
boards(:writebook).publish
|
||||
|
||||
assert_changes -> { boards(:writebook).reload.updated_at } do
|
||||
boards(:writebook).unpublish
|
||||
end
|
||||
end
|
||||
|
||||
test "publish doesn't create duplicate publications" do
|
||||
boards(:writebook).publish
|
||||
original_publication = boards(:writebook).publication
|
||||
|
||||
Reference in New Issue
Block a user