Don't prevent creating drafts, or you won't get to see the upgrade banner
Instead: - Always let you create drafts when pressing "Add card" - Prevent creations of published cards via API - Prevent publication of cards in all cases when the limit is exceeded
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
require "test_helper"
|
||||
|
||||
class Card::LimitedCreationTest < ActionDispatch::IntegrationTest
|
||||
test "cannot create cards via JSON when card limit exceeded" do
|
||||
sign_in_as :mike
|
||||
|
||||
accounts(:initech).update_column(:cards_count, 1001)
|
||||
|
||||
assert_no_difference -> { Card.count } do
|
||||
post board_cards_path(boards(:miltons_wish_list), script_name: accounts(:initech).slug, format: :json)
|
||||
end
|
||||
|
||||
assert_response :forbidden
|
||||
end
|
||||
|
||||
test "can create cards via HTML when card limit exceeded but they are drafts" do
|
||||
sign_in_as :mike
|
||||
|
||||
accounts(:initech).update_column(:cards_count, 1001)
|
||||
boards(:miltons_wish_list).cards.drafted.where(creator: users(:mike)).destroy_all
|
||||
|
||||
assert_difference -> { Card.count } do
|
||||
post board_cards_path(boards(:miltons_wish_list), script_name: accounts(:initech).slug)
|
||||
end
|
||||
|
||||
assert_response :redirect
|
||||
assert Card.last.drafted?
|
||||
end
|
||||
|
||||
test "cannot force published status via HTML when card limit exceeded" do
|
||||
sign_in_as :mike
|
||||
|
||||
accounts(:initech).update_column(:cards_count, 1001)
|
||||
boards(:miltons_wish_list).cards.drafted.where(creator: users(:mike)).destroy_all
|
||||
|
||||
assert_difference -> { Card.count } do
|
||||
post board_cards_path(boards(:miltons_wish_list), script_name: accounts(:initech).slug), params: { card: { status: "published" } }
|
||||
end
|
||||
|
||||
assert_response :redirect
|
||||
assert Card.last.drafted?
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,14 @@
|
||||
require "test_helper"
|
||||
|
||||
class Card::LimitedPublishingTest < ActionDispatch::IntegrationTest
|
||||
test "cannot publish cards when card limit exceeded" do
|
||||
sign_in_as :mike
|
||||
|
||||
accounts(:initech).update_column(:cards_count, 1001)
|
||||
|
||||
post card_publish_path(cards(:unfinished_thoughts), script_name: accounts(:initech).slug)
|
||||
|
||||
assert_response :forbidden
|
||||
assert cards(:unfinished_thoughts).reload.drafted?
|
||||
end
|
||||
end
|
||||
@@ -1,15 +0,0 @@
|
||||
require "test_helper"
|
||||
|
||||
class Card::LimitedTest < ActionDispatch::IntegrationTest
|
||||
test "cannot create cards when card limit exceeded" do
|
||||
sign_in_as :mike
|
||||
|
||||
accounts(:initech).update_column(:cards_count, 1001)
|
||||
|
||||
assert_no_difference -> { Card.count } do
|
||||
post board_cards_path(boards(:miltons_wish_list), script_name: accounts(:initech).slug)
|
||||
end
|
||||
|
||||
assert_response :forbidden
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user