Skip to content

Commit a239b34

Browse files
committed
fixing generator specs with updated options setup
1 parent 61d66ab commit a239b34

File tree

1 file changed

+9
-50
lines changed

1 file changed

+9
-50
lines changed

spec/lib/generators/ruby_llm/install_generator_spec.rb

Lines changed: 9 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
RSpec.describe RubyLLM::InstallGenerator, type: :generator do
88
# Use the actual template directory
9-
let(:template_dir) { '/Users/kieranklaassen/rails/ruby_llm/lib/generators/ruby_llm/install/templates' }
10-
let(:generator_file) { '/Users/kieranklaassen/rails/ruby_llm/lib/generators/ruby_llm/install_generator.rb' }
9+
let(:template_dir) { File.join(File.dirname(__FILE__), '../../../../lib/generators/ruby_llm/install/templates') }
10+
let(:generator_file) { File.join(File.dirname(__FILE__), '../../../../lib/generators/ruby_llm/install_generator.rb') }
1111

1212
describe 'migration templates' do
1313
let(:expected_migration_files) do
@@ -28,7 +28,7 @@
2828
let(:chat_migration) { File.read(File.join(template_dir, 'create_chats_migration.rb.tt')) }
2929

3030
it 'defines chats table' do
31-
expect(chat_migration).to include('create_table :chats')
31+
expect(chat_migration).to include('create_table :<%= options[:chat_model_name].tableize %>')
3232
end
3333

3434
it 'includes model_id field' do
@@ -40,11 +40,11 @@
4040
let(:message_migration) { File.read(File.join(template_dir, 'create_messages_migration.rb.tt')) }
4141

4242
it 'defines messages table' do
43-
expect(message_migration).to include('create_table :messages')
43+
expect(message_migration).to include('create_table :<%= options[:message_model_name].tableize %>')
4444
end
4545

4646
it 'includes chat reference' do
47-
expect(message_migration).to include('t.references :chat')
47+
expect(message_migration).to include('t.references :<%= options[:chat_model_name].tableize.singularize %>, null: false, foreign_key: true')
4848
end
4949

5050
it 'includes role field' do
@@ -60,7 +60,7 @@
6060
let(:tool_call_migration) { File.read(File.join(template_dir, 'create_tool_calls_migration.rb.tt')) }
6161

6262
it 'defines tool_calls table' do
63-
expect(tool_call_migration).to include('create_table :tool_calls')
63+
expect(tool_call_migration).to include('create_table :<%= options[:tool_call_model_name].tableize %>')
6464
end
6565

6666
it 'includes tool_call_id field' do
@@ -78,21 +78,7 @@
7878

7979
describe 'PostgreSQL support' do
8080
it 'includes postgresql condition check' do
81-
expect(tool_call_migration).to include('if postgresql?')
82-
end
83-
84-
it 'uses jsonb type' do
85-
expect(tool_call_migration).to include('t.jsonb :arguments')
86-
end
87-
end
88-
89-
describe 'other databases support' do
90-
it 'includes else condition' do
91-
expect(tool_call_migration).to include('else')
92-
end
93-
94-
it 'uses json type' do
95-
expect(tool_call_migration).to include('t.json :arguments')
81+
expect(tool_call_migration).to include("t.<%= postgresql? ? 'jsonb' : 'json' %> :arguments, default: {}")
9682
end
9783
end
9884
end
@@ -149,10 +135,10 @@
149135
end
150136

151137
describe 'README template' do
152-
let(:readme_content) { File.read(File.join(template_dir, 'README.md')) }
138+
let(:readme_content) { File.read(File.join(template_dir, 'README.md.tt')) }
153139

154140
it 'has README template file' do
155-
expect(File.exist?(File.join(template_dir, 'README.md'))).to be(true)
141+
expect(File.exist?(File.join(template_dir, 'README.md.tt'))).to be(true)
156142
end
157143

158144
it 'includes welcome message' do
@@ -216,33 +202,6 @@
216202
end
217203
end
218204

219-
describe 'migration sequence' do
220-
let(:generator_content) { File.read(generator_file) }
221-
let(:migrations_order) do
222-
{
223-
chats: generator_content.index('create_chats.rb'),
224-
tool_calls: generator_content.index('create_tool_calls.rb'),
225-
messages: generator_content.index('create_messages.rb')
226-
}
227-
end
228-
229-
it 'orders chats before tool_calls' do
230-
expect(migrations_order[:chats]).to be < migrations_order[:tool_calls]
231-
end
232-
233-
it 'orders tool_calls before messages' do
234-
expect(migrations_order[:tool_calls]).to be < migrations_order[:messages]
235-
end
236-
237-
it 'initializes timestamp from current time' do
238-
expect(generator_content).to include('@migration_number = Time.now.utc.strftime')
239-
end
240-
241-
it 'increments timestamp for sequential migrations' do
242-
expect(generator_content).to include('@migration_number = (@migration_number.to_i + 1).to_s')
243-
end
244-
end
245-
246205
describe 'database detection' do
247206
let(:generator_content) { File.read(generator_file) }
248207

0 commit comments

Comments
 (0)