From bac43572cb5080aa9c7456c7ad054bbf22ec64ba Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Tue, 1 Feb 2022 21:38:24 +0100 Subject: [PATCH] DEV: Clean up some specs code (#161) --- spec/guardian_spec.rb | 6 +----- spec/lib/tasks/data_explorer_spec.rb | 30 +++++++++++--------------- spec/requests/group_spec.rb | 6 +++--- spec/requests/query_controller_spec.rb | 6 +----- 4 files changed, 18 insertions(+), 30 deletions(-) diff --git a/spec/guardian_spec.rb b/spec/guardian_spec.rb index a5f24c8..5eb4659 100644 --- a/spec/guardian_spec.rb +++ b/spec/guardian_spec.rb @@ -3,7 +3,6 @@ require 'rails_helper' describe Guardian do - before { SiteSetting.data_explorer_enabled = true } def make_query(group_ids = []) @@ -18,10 +17,9 @@ describe Guardian do let(:user) { build(:user) } let(:admin) { build(:admin) } + fab!(:group) { Fabricate(:group) } describe "#user_is_a_member_of_group?" do - let(:group) { Fabricate(:group) } - it "is true when the user is an admin" do expect(Guardian.new(admin).user_is_a_member_of_group?(group)).to eq(true) end @@ -38,8 +36,6 @@ describe Guardian do end describe "#group_and_user_can_access_query?" do - let(:group) { Fabricate(:group) } - it "is true if the user is an admin" do expect(Guardian.new(admin).group_and_user_can_access_query?(group, make_query)).to eq(true) end diff --git a/spec/lib/tasks/data_explorer_spec.rb b/spec/lib/tasks/data_explorer_spec.rb index b837eaa..5469b04 100644 --- a/spec/lib/tasks/data_explorer_spec.rb +++ b/spec/lib/tasks/data_explorer_spec.rb @@ -3,10 +3,6 @@ require 'rails_helper' describe 'Data Explorer rake tasks' do - before :all do - $stdout = File.open(File::NULL, 'w') - end - before do Rake::Task.clear Discourse::Application.load_tasks @@ -30,7 +26,7 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 1, name: 'A') make_query('SELECT 1 as value', id: 2, name: 'B') # rake data_explorer[1] => hide query with ID 1 - Rake::Task['data_explorer'].invoke(1) + silence_stdout { Rake::Task['data_explorer'].invoke(1) } # Soft deletion: PluginStoreRow should not be modified expect(DataExplorer::Query.all.length).to eq(2) @@ -47,7 +43,7 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 3, name: 'C') make_query('SELECT 1 as value', id: 4, name: 'D') # rake data_explorer[1,2,4] => hide queries with IDs 1, 2 and 4 - Rake::Task['data_explorer'].invoke(1, 2, 4) + silence_stdout { Rake::Task['data_explorer'].invoke(1, 2, 4) } # Soft deletion: PluginStoreRow should not be modified expect(DataExplorer::Query.all.length).to eq(4) @@ -65,9 +61,9 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 1, name: 'A') make_query('SELECT 1 as value', id: 2, name: 'B') # rake data_explorer[3] => try to hide query with ID 3 - Rake::Task['data_explorer'].invoke(3) + silence_stdout { Rake::Task['data_explorer'].invoke(3) } # rake data_explorer[3,4,5] => try to hide queries with IDs 3, 4 and 5 - Rake::Task['data_explorer'].invoke(3, 4, 5) + silence_stdout { Rake::Task['data_explorer'].invoke(3, 4, 5) } # Array of hidden queries should be empty expect(hidden_queries.length).to eq(0) @@ -81,7 +77,7 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 1, name: 'A', hidden: true) make_query('SELECT 1 as value', id: 2, name: 'B', hidden: true) # rake data_explorer:unhide_query[1] => unhide query with ID 1 - Rake::Task['data_explorer:unhide_query'].invoke(1) + silence_stdout { Rake::Task['data_explorer:unhide_query'].invoke(1) } # Soft deletion: PluginStoreRow should not be modified expect(DataExplorer::Query.all.length).to eq(2) @@ -98,7 +94,7 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 3, name: 'C', hidden: true) make_query('SELECT 1 as value', id: 4, name: 'D', hidden: true) # rake data_explorer:unhide_query[1,2,4] => unhide queries with IDs 1, 2 and 4 - Rake::Task['data_explorer:unhide_query'].invoke(1, 2, 4) + silence_stdout { Rake::Task['data_explorer:unhide_query'].invoke(1, 2, 4) } # Soft deletion: PluginStoreRow should not be modified expect(DataExplorer::Query.all.length).to eq(4) @@ -114,9 +110,9 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 1, name: 'A', hidden: true) make_query('SELECT 1 as value', id: 2, name: 'B', hidden: true) # rake data_explorer:unhide_query[3] => try to unhide query with ID 3 - Rake::Task['data_explorer:unhide_query'].invoke(3) + silence_stdout { Rake::Task['data_explorer:unhide_query'].invoke(3) } # rake data_explorer:unhide_query[3,4,5] => try to unhide queries with IDs 3, 4 and 5 - Rake::Task['data_explorer:unhide_query'].invoke(3, 4, 5) + silence_stdout { Rake::Task['data_explorer:unhide_query'].invoke(3, 4, 5) } # Array of hidden queries shouldn't change expect(hidden_queries.length).to eq(2) @@ -130,7 +126,7 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 1, name: 'A', hidden: true) make_query('SELECT 1 as value', id: 2, name: 'B', hidden: true) # rake data_explorer:hard_delete[1] => hard delete query with ID 1 - Rake::Task['data_explorer:hard_delete'].invoke(1) + silence_stdout { Rake::Task['data_explorer:hard_delete'].invoke(1) } # Hard deletion: query list should be shorter by 1 expect(DataExplorer::Query.all.length).to eq(1) @@ -147,7 +143,7 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 3, name: 'C', hidden: true) make_query('SELECT 1 as value', id: 4, name: 'D', hidden: true) # rake data_explorer:hard_delete[1,2,4] => hard delete queries with IDs 1, 2 and 4 - Rake::Task['data_explorer:hard_delete'].invoke(1, 2, 4) + silence_stdout { Rake::Task['data_explorer:hard_delete'].invoke(1, 2, 4) } # Hard deletion: query list should be shorter by 3 expect(DataExplorer::Query.all.length).to eq(1) @@ -163,9 +159,9 @@ describe 'Data Explorer rake tasks' do make_query('SELECT 1 as value', id: 1, name: 'A', hidden: true) make_query('SELECT 1 as value', id: 2, name: 'B', hidden: true) # rake data_explorer:hard_delete[3] => try to hard delete query with ID 3 - Rake::Task['data_explorer:hard_delete'].invoke(3) + silence_stdout { Rake::Task['data_explorer:hard_delete'].invoke(3) } # rake data_explorer:hard_delete[3,4,5] => try to hard delete queries with IDs 3, 4 and 5 - Rake::Task['data_explorer:hard_delete'].invoke(3, 4, 5) + silence_stdout { Rake::Task['data_explorer:hard_delete'].invoke(3, 4, 5) } # Array of hidden queries shouldn't change expect(hidden_queries.length).to eq(2) @@ -177,7 +173,7 @@ describe 'Data Explorer rake tasks' do DataExplorer::Query.destroy_all make_query('SELECT 1 as value', id: 1, name: 'A') # rake data_explorer:hard_delete[1] => try to hard delete query with ID 1 - Rake::Task['data_explorer:hard_delete'].invoke(1) + silence_stdout { Rake::Task['data_explorer:hard_delete'].invoke(1) } # List of queries shouldn't change expect(DataExplorer::Query.all.length).to eq(1) diff --git a/spec/requests/group_spec.rb b/spec/requests/group_spec.rb index cf4163b..17278d1 100644 --- a/spec/requests/group_spec.rb +++ b/spec/requests/group_spec.rb @@ -3,9 +3,9 @@ require 'rails_helper' describe "Data explorer group serializer additions" do - let(:group_user) { Fabricate(:user) } - let(:other_user) { Fabricate(:user) } - let(:group) { Fabricate(:group) } + fab!(:group_user) { Fabricate(:user) } + fab!(:other_user) { Fabricate(:user) } + fab!(:group) { Fabricate(:group) } let!(:query) { DataExplorer::Query.create!(name: "My query", sql: "") } before do diff --git a/spec/requests/query_controller_spec.rb b/spec/requests/query_controller_spec.rb index 4511ec2..e4dd410 100644 --- a/spec/requests/query_controller_spec.rb +++ b/spec/requests/query_controller_spec.rb @@ -4,7 +4,7 @@ require 'rails_helper' describe DataExplorer::QueryController do def response_json - MultiJson.load(response.body) + response.parsed_body end before do @@ -58,10 +58,6 @@ describe DataExplorer::QueryController do end describe "#index" do - before do - require_dependency File.expand_path('../../../lib/queries.rb', __FILE__) - end - it "behaves nicely with no user created queries" do DataExplorer::Query.destroy_all get "/admin/plugins/explorer/queries.json"