|
71 | 71 | forum_helper = AiPersona.find_by(name: "Forum Helper") |
72 | 72 | forum_helper.update!( |
73 | 73 | user_id: 1, |
74 | | - mentionable: true, |
75 | 74 | default_llm: "anthropic:claude-2", |
76 | 75 | max_context_posts: 3, |
| 76 | + allow_topic_mentions: true, |
| 77 | + allow_personal_messages: true, |
| 78 | + allow_chat_channel_mentions: true, |
| 79 | + allow_chat_direct_messages: true, |
77 | 80 | ) |
78 | 81 |
|
79 | 82 | klass = forum_helper.class_instance |
|
83 | 86 | # tl 0 by default |
84 | 87 | expect(klass.allowed_group_ids).to eq([10]) |
85 | 88 | expect(klass.user_id).to eq(1) |
86 | | - expect(klass.mentionable).to eq(true) |
87 | 89 | expect(klass.default_llm).to eq("anthropic:claude-2") |
88 | 90 | expect(klass.max_context_posts).to eq(3) |
| 91 | + expect(klass.allow_topic_mentions).to eq(true) |
| 92 | + expect(klass.allow_personal_messages).to eq(true) |
| 93 | + expect(klass.allow_chat_channel_mentions).to eq(true) |
| 94 | + expect(klass.allow_chat_direct_messages).to eq(true) |
89 | 95 | end |
90 | 96 |
|
91 | 97 | it "defines singleton methods non persona classes" do |
|
98 | 104 | allowed_group_ids: [], |
99 | 105 | default_llm: "anthropic:claude-2", |
100 | 106 | max_context_posts: 3, |
101 | | - mentionable: true, |
| 107 | + allow_topic_mentions: true, |
| 108 | + allow_personal_messages: true, |
| 109 | + allow_chat_channel_mentions: true, |
| 110 | + allow_chat_direct_messages: true, |
102 | 111 | user_id: 1, |
103 | 112 | ) |
104 | 113 |
|
|
108 | 117 | expect(klass.system).to eq(false) |
109 | 118 | expect(klass.allowed_group_ids).to eq([]) |
110 | 119 | expect(klass.user_id).to eq(1) |
111 | | - expect(klass.mentionable).to eq(true) |
112 | 120 | expect(klass.default_llm).to eq("anthropic:claude-2") |
113 | 121 | expect(klass.max_context_posts).to eq(3) |
| 122 | + expect(klass.allow_topic_mentions).to eq(true) |
| 123 | + expect(klass.allow_personal_messages).to eq(true) |
| 124 | + expect(klass.allow_chat_channel_mentions).to eq(true) |
| 125 | + expect(klass.allow_chat_direct_messages).to eq(true) |
114 | 126 | end |
115 | 127 |
|
116 | | - it "does not allow setting allow_chat without a default_llm" do |
| 128 | + it "does not allow setting allowing chat without a default_llm" do |
117 | 129 | persona = |
118 | 130 | AiPersona.create( |
119 | 131 | name: "test", |
120 | 132 | description: "test", |
121 | 133 | system_prompt: "test", |
122 | 134 | allowed_group_ids: [], |
123 | 135 | default_llm: nil, |
124 | | - allow_chat: true, |
| 136 | + allow_chat_channel_mentions: true, |
| 137 | + ) |
| 138 | + |
| 139 | + expect(persona.valid?).to eq(false) |
| 140 | + expect(persona.errors[:default_llm].first).to eq( |
| 141 | + I18n.t("discourse_ai.ai_bot.personas.default_llm_required"), |
| 142 | + ) |
| 143 | + |
| 144 | + persona = |
| 145 | + AiPersona.create( |
| 146 | + name: "test", |
| 147 | + description: "test", |
| 148 | + system_prompt: "test", |
| 149 | + allowed_group_ids: [], |
| 150 | + default_llm: nil, |
| 151 | + allow_chat_direct_messages: true, |
| 152 | + ) |
| 153 | + |
| 154 | + expect(persona.valid?).to eq(false) |
| 155 | + expect(persona.errors[:default_llm].first).to eq( |
| 156 | + I18n.t("discourse_ai.ai_bot.personas.default_llm_required"), |
| 157 | + ) |
| 158 | + |
| 159 | + persona = |
| 160 | + AiPersona.create( |
| 161 | + name: "test", |
| 162 | + description: "test", |
| 163 | + system_prompt: "test", |
| 164 | + allowed_group_ids: [], |
| 165 | + default_llm: nil, |
| 166 | + allow_topic_mentions: true, |
125 | 167 | ) |
126 | 168 |
|
127 | 169 | expect(persona.valid?).to eq(false) |
|
0 commit comments