# frozen_string_literal: true class SentimentInferenceStubs class << self def endpoint "#{SiteSetting.ai_sentiment_inference_service_api_endpoint}/api/v1/classify" end def model_response(model) { negative: 72, neutral: 23, positive: 4 } if model == "sentiment" { sadness: 99, surprise: 0, neutral: 0, fear: 0, anger: 0, joy: 0, disgust: 0 } end def stub_classification(post) content = post.post_number == 1 ? "#{post.topic.title}\n#{post.raw}" : post.raw DiscourseAi::Sentiment::SentimentClassification.new.available_models.each do |model| WebMock .stub_request(:post, endpoint) .with(body: JSON.dump(model: model, content: content)) .to_return(status: 200, body: JSON.dump(model_response(model))) end end end end