From 436ee57801cf312e0fbda442f4b57a2d5d806915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Saquetim?= Date: Fri, 20 Jun 2025 19:07:55 -0300 Subject: [PATCH] DEV: Refactor spec to improve readability of `accepted answer` tests Refactored `solved_spec.rb` to make `accepted answer` assertions more explicit and structured. Consolidated selector handling and clarified expectation of the expanded quote behavior. --- spec/system/solved_spec.rb | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/spec/system/solved_spec.rb b/spec/system/solved_spec.rb index 32de560..f3c7af5 100644 --- a/spec/system/solved_spec.rb +++ b/spec/system/solved_spec.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true - describe "About page", type: :system do fab!(:admin) fab!(:solver) { Fabricate(:user) } @@ -16,32 +15,31 @@ describe "About page", type: :system do end %w[enabled disabled].each do |value| - before { SiteSetting.glimmer_post_stream_mode = value } - context "when glimmer_post_stream_mode=#{value}" do + before { SiteSetting.glimmer_post_stream_mode = value } + it "accepts post as solution and shows in OP" do sign_in(accepter) - topic_page.visit_topic(topic, post_number: 2) expect(topic_page).to have_css(".post-action-menu__solved-unaccepted") - find(".post-action-menu__solved-unaccepted").click expect(topic_page).to have_css(".post-action-menu__solved-accepted") - expect(topic_page).to have_css("aside.accepted-answer.quote[data-expanded='false']") + accepted_answer_quote = topic_page.find("aside.accepted-answer.quote") + expect(accepted_answer_quote["data-expanded"]).to eq("false") + expect(accepted_answer_quote.find("blockquote")).to have_content("The answer is 42") + expect(topic_page.find(".title .accepted-answer--solver")).to have_content( "Solved by #{solver.username}", ) expect(topic_page.find(".title .accepted-answer--accepter")).to have_content( "Marked as solved by #{accepter.username}", ) - expect(topic_page.find("blockquote")).to have_content("The answer is 42") - # ensure the quoted post can be expanded - topic_page.find("aside.accepted-answer.quote button.quote-toggle").click - expect(topic_page).to have_css("aside.accepted-answer.quote[data-expanded='true']") + accepted_answer_quote.find("button.quote-toggle").click + expect(accepted_answer_quote["data-expanded"]).to eq("true") end end end