Skip to content

Commit 802a336

Browse files
committed
DEV: Start building specs
1 parent 0efc25c commit 802a336

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# frozen_string_literal: true
2+
3+
RSpec.describe "AI Bot - Personal Message", type: :system do
4+
let(:topic_page) { PageObjects::Pages::Topic.new }
5+
let(:composer) { PageObjects::Components::Composer.new }
6+
7+
fab!(:user)
8+
fab!(:group)
9+
fab!(:gpt_4) { Fabricate(:llm_model, name: "gpt-4") }
10+
let(:bot_user) { DiscourseAi::AiBot::EntryPoint.find_user_from_model("gpt-4") }
11+
12+
let(:pm) do
13+
Fabricate(
14+
:private_message_topic,
15+
title: "AI Conversation Test",
16+
user: user,
17+
topic_allowed_users: [
18+
Fabricate.build(:topic_allowed_user, user: user),
19+
Fabricate.build(:topic_allowed_user, user: bot_user),
20+
],
21+
)
22+
end
23+
24+
let(:pm_posts) do
25+
posts = []
26+
i = 1
27+
3.times do
28+
posts << Fabricate(:post, topic: pm, user: user, raw: "test test test user reply #{i}")
29+
posts << Fabricate(:post, topic: pm, user: bot_user, raw: "test test test bot reply #{i}")
30+
i += 1
31+
end
32+
33+
posts
34+
end
35+
36+
before do
37+
SiteSetting.ai_enable_experimental_bot_ux = true
38+
39+
SiteSetting.ai_bot_enabled = true
40+
toggle_enabled_bots(bots: [gpt_4])
41+
SiteSetting.ai_bot_allowed_groups = group.id.to_s
42+
sign_in(user)
43+
44+
group.add(user)
45+
group.save
46+
47+
allowed_persona = AiPersona.last
48+
allowed_persona.update!(allowed_group_ids: [group.id], enabled: true)
49+
50+
sign_in(user)
51+
end
52+
53+
it "has normal bot interaction when `ai_enable_experimental_bot_ux` is disabled" do
54+
SiteSetting.ai_enable_experimental_bot_ux = false
55+
visit "/"
56+
expect(page).to have_selector(".ai-bot-button")
57+
find(".ai-bot-button").click
58+
59+
expect(composer).to be_opened
60+
end
61+
62+
it "renders landing page when `ai_enable_experimental_bot_ux` is enabled" do
63+
visit "/"
64+
expect(page).to have_selector(".ai-bot-button")
65+
find(".ai-bot-button").click
66+
67+
expect(page).to have_css(".custom-homepage__content-wrapper")
68+
end
69+
end

0 commit comments

Comments
 (0)