discourse-ai/spec/models/ai_persona_multisite_spec.rb
Sam 491dac298f
FIX: system persona state leaking between sites (#1304)
System personas leaned on reused classes, this was a problem
in a multisite environement cause state, such as "enabled"
ended up being reused between sites.

New implementation ensures state is pristine between sites in
a multisite

* more handling for new superclass story

* small oversight, display name should be used for display
2025-05-01 13:24:53 +10:00

25 lines
864 B
Ruby

# frozen_string_literal: true
RSpec.describe AiPersona, type: :multisite do
it "is able to amend settings on system personas on multisite" do
persona = AiPersona.find_by(name: "Designer")
expect(persona.allow_personal_messages).to eq(true)
persona.update!(allow_personal_messages: false)
instance = persona.class_instance
expect(instance.allow_personal_messages).to eq(false)
test_multisite_connection("second") do
persona = AiPersona.find_by(name: "Designer")
expect(persona.allow_personal_messages).to eq(true)
instance = persona.class_instance
expect(instance.name).to eq("Designer")
expect(instance.allow_personal_messages).to eq(true)
end
persona = AiPersona.find_by(name: "Designer")
instance = persona.class_instance
expect(instance.allow_personal_messages).to eq(false)
end
end