-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsystem_spec_helpers.rb
More file actions
75 lines (63 loc) · 2.25 KB
/
system_spec_helpers.rb
File metadata and controls
75 lines (63 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
module SystemSpecHelpers
def given_i_am_a_web_chat_user
@signon_user = create(:signon_user, :web_chat)
login_as(@signon_user)
end
def given_i_am_using_the_claude_structured_answer_strategy
allow(Rails.configuration)
.to receive(:answer_strategy)
.and_return("claude_structured_answer")
end
def given_i_have_dismissed_the_cookie_banner
visit homepage_path
within(".gem-c-cookie-banner") do
click_button "Reject additional cookies"
click_button "Hide cookie message"
end
end
alias_method :and_i_have_dismissed_the_cookie_banner, :given_i_have_dismissed_the_cookie_banner
def set_rack_cookie(name, value)
cookie_string = Rack::Utils.set_cookie_header(name, value)
Capybara.current_session.driver.browser.set_cookie(cookie_string)
end
def given_i_am_an_admin
login_as(create(:signon_user, :admin))
end
def given_i_am_an_admin_with_the_settings_permission
login_as(create(:signon_user, :admin_area_settings))
end
def stubs_for_mock_answer(question,
answer,
sources_used: [],
create_content_chunk: true)
stub_claude_jailbreak_guardrails(question)
rephrased_question = "Rephrased #{question}"
stub_claude_question_rephrasing(question, rephrased_question)
question = rephrased_question
stub_bedrock_titan_embedding(question)
if create_content_chunk
populate_chunked_content_index([
build(:chunked_content_record, titan_embedding: mock_titan_embedding(question)),
])
end
stub_claude_question_routing(question)
stub_claude_structured_answer(question, answer, sources_used:)
stub_claude_output_guardrails(answer)
stub_bedrock_invoke_model_openai_oss_topic_tagger(question)
stub_bedrock_invoke_model_openai_oss_answer_relevancy(
question_message: question,
answer_message: answer,
)
stub_bedrock_invoke_model_openai_oss_faithfulness(
retrieval_context: "Some content",
answer_message: answer,
)
stub_bedrock_invoke_model_openai_oss_coherence(
question_message: question,
answer_message: answer,
)
stub_bedrock_invoke_model_openai_oss_context_relevancy(
question_message: question,
)
end
end