34 lines
858 B
Ruby
34 lines
858 B
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe AiArtifactKeyValue, type: :model do
|
|
fab!(:user)
|
|
fab!(:ai_artifact)
|
|
|
|
describe "#validate_max_keys_per_user_per_artifact" do
|
|
before { SiteSetting.ai_artifact_max_keys_per_user_per_artifact = 2 }
|
|
|
|
it "prevents creation when at the limit" do
|
|
2.times do |i|
|
|
described_class.create!(
|
|
ai_artifact: ai_artifact,
|
|
user: user,
|
|
key: "key_#{i}",
|
|
value: "value_#{i}",
|
|
)
|
|
end
|
|
|
|
new_record =
|
|
described_class.new(
|
|
ai_artifact: ai_artifact,
|
|
user: user,
|
|
key: "new_key",
|
|
value: "new_value",
|
|
)
|
|
expect(new_record).not_to be_valid
|
|
expect(new_record.errors[:base]).to include(
|
|
I18n.t("discourse_ai.ai_artifact.errors.max_keys_exceeded", count: 2),
|
|
)
|
|
end
|
|
end
|
|
end
|