Files
fizzy/test/models/collection/publishable_test.rb
T
Jorge Manrubia a916fe4470 Add tests
2025-06-10 11:18:33 +02:00

56 lines
1.6 KiB
Ruby

require "test_helper"
class Collection::PublishableTest < ActiveSupport::TestCase
setup do
Current.session = sessions(:david)
end
test "published scope" do
collections(:writebook).publish
assert_includes Collection.published, collections(:writebook)
assert_not_includes Collection.published, collections(:private)
end
test "published?" do
assert_not collections(:writebook).published?
collections(:writebook).publish
assert collections(:writebook).published?
end
test "publish and unpublish" do
assert_not collections(:writebook).published?
assert_difference -> { Collection::Publication.count }, +1 do
collections(:writebook).publish
end
assert collections(:writebook).published?
assert_difference -> { Collection::Publication.count }, -1 do
collections(:writebook).unpublish
end
assert_not collections(:writebook).reload.published?
end
test "find collection by publication key" do
collections(:writebook).publish
assert_equal collections(:writebook), Collection.find_by_published_key(collections(:writebook).publication.key)
assert_raise ActiveRecord::RecordNotFound do
Collection.find_by_published_key("invalid")
end
end
test "publish doesn't create duplicate publications" do
collections(:writebook).publish
original_publication = collections(:writebook).publication
assert_no_difference -> { Collection::Publication.count } do
collections(:writebook).publish
end
assert_equal original_publication, collections(:writebook).reload.publication
end
end