From 1bac0b84b32eee1017889451026289458b8dccac Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Fri, 11 Apr 2025 09:36:24 +0200 Subject: [PATCH] Add tests --- .../cards/goldenesses_controller_test.rb | 27 +++++++++++++++++ test/fixtures/card/engagements.yml | 2 +- test/fixtures/card/goldnesses.yml | 2 ++ test/models/card/golden_test.rb | 30 +++++++++++++++++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 test/controllers/cards/goldenesses_controller_test.rb create mode 100644 test/fixtures/card/goldnesses.yml create mode 100644 test/models/card/golden_test.rb diff --git a/test/controllers/cards/goldenesses_controller_test.rb b/test/controllers/cards/goldenesses_controller_test.rb new file mode 100644 index 000000000..245ccc180 --- /dev/null +++ b/test/controllers/cards/goldenesses_controller_test.rb @@ -0,0 +1,27 @@ +require "test_helper" + +class Cards::GoldenessesControllerTest < ActionDispatch::IntegrationTest + setup do + sign_in_as :kevin + end + + test "create" do + card = cards(:text) + + assert_changes -> { card.reload.golden? }, from: false, to: true do + post card_goldeness_url(card) + end + + assert_redirected_to collection_card_url(card.collection, card) + end + + test "destroy" do + card = cards(:logo) + + assert_changes -> { card.reload.golden? }, from: true, to: false do + delete card_goldeness_url(card) + end + + assert_redirected_to collection_card_url(card.collection, card) + end +end diff --git a/test/fixtures/card/engagements.yml b/test/fixtures/card/engagements.yml index f15900c8b..77657385b 100644 --- a/test/fixtures/card/engagements.yml +++ b/test/fixtures/card/engagements.yml @@ -1,2 +1,2 @@ -logo_engagement: +logo: card: logo diff --git a/test/fixtures/card/goldnesses.yml b/test/fixtures/card/goldnesses.yml new file mode 100644 index 000000000..77657385b --- /dev/null +++ b/test/fixtures/card/goldnesses.yml @@ -0,0 +1,2 @@ +logo: + card: logo diff --git a/test/models/card/golden_test.rb b/test/models/card/golden_test.rb new file mode 100644 index 000000000..b20b16e9f --- /dev/null +++ b/test/models/card/golden_test.rb @@ -0,0 +1,30 @@ +require "test_helper" + +class Card::GoldenTest < ActiveSupport::TestCase + setup do + Current.session = sessions(:david) + end + + test "check whether a card is golden" do + assert cards(:logo).golden? + assert_not cards(:text).golden? + end + + test "promote and demote from golden" do + assert_changes -> { cards(:text).reload.golden? }, to: true do + cards(:text).promote_to_golden + end + + assert_changes -> { cards(:logo).reload.golden? }, to: false do + cards(:logo).demote_from_golden + end + end + + test "scopes" do + assert_includes Card.doing, cards(:logo) + assert_not_includes Card.doing, cards(:text) + + assert_includes Card.considering, cards(:text) + assert_not_includes Card.considering, cards(:logo) + end +end