diff --git a/test/ruby_lsp_rails/hover_test.rb b/test/ruby_lsp_rails/hover_test.rb index fd9b978e..a5c7bc66 100644 --- a/test/ruby_lsp_rails/hover_test.rb +++ b/test/ruby_lsp_rails/hover_test.rb @@ -24,21 +24,6 @@ class HoverTest < ActiveSupport::TestCase end test "hook returns model column information" do - expected_response = { - schema_file: "#{dummy_root}/db/schema.rb", - columns: [ - ["id", "integer"], - ["first_name", "string"], - ["last_name", "string"], - ["age", "integer"], - ["created_at", "datetime"], - ["updated_at", "datetime"], - ], - primary_keys: ["id"], - } - - RunnerClient.any_instance.stubs(model: expected_response) - response = hover_on_source(<<~RUBY, { line: 3, character: 0 }) class User < ApplicationRecord end @@ -70,28 +55,13 @@ class User < ApplicationRecord end test "return column information for namespaced models" do - expected_response = { - schema_file: "#{dummy_root}/db/schema.rb", - columns: [ - ["id", "integer"], - ["first_name", "string"], - ["last_name", "string"], - ["age", "integer"], - ["created_at", "datetime"], - ["updated_at", "datetime"], - ], - primary_keys: ["id"], - } - - RunnerClient.any_instance.stubs(model: expected_response) - response = hover_on_source(<<~RUBY, { line: 4, character: 6 }) module Blog - class User < ApplicationRecord + class Post < ApplicationRecord end end - Blog::User + Blog::Post RUBY assert_equal(<<~CONTENT.chomp, response.contents.value) @@ -99,11 +69,9 @@ class User < ApplicationRecord **id**: integer (PK) - **first_name**: string + **title**: string - **last_name**: string - - **age**: integer + **body**: text **created_at**: datetime @@ -112,20 +80,6 @@ class User < ApplicationRecord end test "returns column information for models with composite primary keys" do - expected_response = { - schema_file: "#{dummy_root}/db/schema.rb", - columns: [ - ["order_id", "integer"], - ["product_id", "integer"], - ["note", "string"], - ["created_at", "datetime"], - ["updated_at", "datetime"], - ], - primary_keys: ["order_id", "product_id"], - } - - RunnerClient.any_instance.stubs(model: expected_response) - response = hover_on_source(<<~RUBY, { line: 3, character: 0 }) class CompositePrimaryKey < ApplicationRecord end @@ -146,7 +100,7 @@ class CompositePrimaryKey < ApplicationRecord **product_id**: integer (PK) - **note**: string + **note**: text **created_at**: datetime @@ -238,6 +192,8 @@ class ActiveRecord::Base def hover_on_source(source, position) with_server(source) do |server, uri| + sleep(0.1) while RubyLsp::Addon.addons.first.instance_variable_get(:@client).is_a?(NullClient) + server.process_message( id: 1, method: "textDocument/hover",