|
|
|
@@ -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)
|
|
|
|
|