discourse-ai/spec/lib/modules/sentiment/post_classifier_spec.rb

27 lines
849 B
Ruby
Raw Normal View History

# frozen_string_literal: true
require "rails_helper"
require_relative "../../../support/sentiment_inference_stubs"
describe DiscourseAI::Sentiment::PostClassifier do
fab!(:post) { Fabricate(:post) }
before { SiteSetting.ai_sentiment_inference_service_api_endpoint = "http://test.com" }
describe "#classify!" do
it "stores each model classification in a post custom field" do
SentimentInferenceStubs.stub_classification(post)
subject.classify!(post)
subject.available_models.each do |model|
stored_classification = PostCustomField.find_by(post: post, name: "ai-sentiment-#{model}")
expect(stored_classification).to be_present
expect(stored_classification.value).to eq(
{ classification: SentimentInferenceStubs.model_response(model) }.to_json,
)
end
end
end
end