mirror of
				https://github.com/discourse/discourse-ai.git
				synced 2025-11-04 08:28:46 +00:00 
			
		
		
		
	
		
			
	
	
		
			32 lines
		
	
	
		
			846 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			846 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 
								 | 
							
								# frozen_string_literal: true
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								require "rails_helper"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe DiscourseAi::Embeddings::EntryPoint do
							 | 
						||
| 
								 | 
							
								  fab!(:user) { Fabricate(:user) }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  describe "registering event callbacks" do
							 | 
						||
| 
								 | 
							
								    context "when creating a topic" do
							 | 
						||
| 
								 | 
							
								      let(:creator) do
							 | 
						||
| 
								 | 
							
								        PostCreator.new(
							 | 
						||
| 
								 | 
							
								          user,
							 | 
						||
| 
								 | 
							
								          raw: "this is the new content for my topic",
							 | 
						||
| 
								 | 
							
								          title: "this is my new topic title",
							 | 
						||
| 
								 | 
							
								        )
							 | 
						||
| 
								 | 
							
								      end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      it "queues a job on create if embeddings is enabled" do
							 | 
						||
| 
								 | 
							
								        SiteSetting.ai_embeddings_enabled = true
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        expect { creator.create }.to change(Jobs::GenerateEmbeddings.jobs, :size).by(1)
							 | 
						||
| 
								 | 
							
								      end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      it "does nothing if sentiment analysis is disabled" do
							 | 
						||
| 
								 | 
							
								        SiteSetting.ai_embeddings_enabled = false
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        expect { creator.create }.not_to change(Jobs::GenerateEmbeddings.jobs, :size)
							 | 
						||
| 
								 | 
							
								      end
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								end
							 |