Skip to content
This repository was archived by the owner on Jul 22, 2025. It is now read-only.

Commit 824bacc

Browse files
committed
DEV: Fixes to spec + explain spec
1 parent 998ec05 commit 824bacc

File tree

2 files changed

+35
-9
lines changed

2 files changed

+35
-9
lines changed

spec/system/ai_helper/ai_post_helper_spec.rb

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
Group.find_by(id: Group::AUTO_GROUPS[:admins]).add(user)
3131
assign_fake_provider_to(:ai_helper_model)
3232
SiteSetting.ai_helper_enabled = true
33+
Jobs.run_immediately!
3334
sign_in(user)
3435
end
3536

@@ -87,13 +88,33 @@ def select_post_text(selected_post)
8788
end
8889

8990
it "pre-fills fast edit with proofread text" do
90-
skip("Test is flaky in CI, possibly some timing issue?") if ENV["CI"]
9191
select_post_text(post_3)
9292
post_ai_helper.click_ai_button
9393
DiscourseAi::Completions::Llm.with_prepared_responses([proofread_response]) do
9494
post_ai_helper.select_helper_model(mode)
95-
wait_for { fast_editor.has_content?(proofread_response) }
96-
expect(fast_editor).to have_content(proofread_response)
95+
expect(page.find("#fast-edit-input")).to have_content(proofread_response)
96+
end
97+
end
98+
end
99+
100+
context "when using explain mode" do
101+
let(:mode) { DiscourseAi::AiHelper::Assistant::EXPLAIN }
102+
let(:explain_response) { "This is about pie." }
103+
104+
it "shows the explanation in the AI helper" do
105+
select_post_text(post)
106+
post_ai_helper.click_ai_button
107+
108+
DiscourseAi::Completions::Llm.with_prepared_responses([explain_response]) do
109+
post_ai_helper.select_helper_model(mode)
110+
111+
MessageBus.publish(
112+
"/discourse-ai/ai-helper/stream_suggestion/#{post.id}",
113+
{ result: explain_response, done: true },
114+
user_ids: [user.id],
115+
)
116+
117+
expect(post_ai_helper.suggestion_value).to eq(explain_response)
97118
end
98119
end
99120
end
@@ -128,13 +149,11 @@ def select_post_text(selected_post)
128149
end
129150

130151
it "pre-fills fast edit with proofread text" do
131-
skip("Test is flaky in CI, possibly some timing issue?") if ENV["CI"]
132152
select_post_text(post_3)
133153
find(".quote-edit-label").click
134154
DiscourseAi::Completions::Llm.with_prepared_responses([proofread_response]) do
135155
find(".btn-ai-suggest-edit", visible: :all).click
136-
wait_for { fast_editor.has_content?(proofread_response) }
137-
expect(fast_editor).to have_content(proofread_response)
156+
expect(page.find("#fast-edit-input")).to have_content(proofread_response)
138157
end
139158
end
140159
end

spec/system/page_objects/components/ai_post_helper_menu.rb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class AiPostHelperMenu < PageObjects::Components::Base
99
SHARE_SELECTOR = ".quote-sharing"
1010

1111
AI_HELPER_SELECTOR = ".ai-post-helper"
12-
AI_HELPER_MOBILE_SELECTOR = ".ai-post-helper-menu-content"
1312
TRIGGER_SELECTOR = "#{AI_HELPER_SELECTOR}__trigger"
1413
OPTIONS_SELECTOR = ".ai-helper-options"
1514
LOADING_SELECTOR = ".ai-helper-context-menu__loading"
@@ -28,6 +27,10 @@ def select_helper_model(mode)
2827
find("#{OPTIONS_SELECTOR} .btn[data-name=\"#{mode}\"]").click
2928
end
3029

30+
def has_suggestion_value?
31+
page.has_css?("#{SUGGESTION_SELECTOR}__text")
32+
end
33+
3134
def suggestion_value
3235
find("#{SUGGESTION_SELECTOR}__text").text
3336
end
@@ -41,11 +44,11 @@ def has_no_highlighted_text?
4144
end
4245

4346
def has_mobile_post_ai_helper?
44-
page.has_css?(AI_HELPER_MOBILE_SELECTOR)
47+
page.has_css?(".fk-d-menu-modal #{AI_HELPER_SELECTOR}")
4548
end
4649

4750
def has_no_mobile_post_ai_helper?
48-
page.has_no_css?(AI_HELPER_MOBILE_SELECTOR)
51+
page.has_no_css?(".fk-d-menu-modal #{AI_HELPER_SELECTOR}")
4952
end
5053

5154
def has_post_ai_helper?
@@ -81,6 +84,10 @@ def has_no_post_selection_primary_buttons?
8184
page.has_no_css?(QUOTE_SELECTOR) || page.has_no_css?(EDIT_SELECTOR) ||
8285
page.has_no_css?(SHARE_SELECTOR)
8386
end
87+
88+
def has_suggestions?
89+
page.has_css?(SUGGESTION_SELECTOR)
90+
end
8491
end
8592
end
8693
end

0 commit comments

Comments
 (0)