mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 20:55:44 +02:00
Improve mass action tests
This commit is contained in:
parent
b61fe5f7b4
commit
cfa44f7692
6 changed files with 18 additions and 10 deletions
|
@ -12,7 +12,7 @@ module Admin
|
||||||
res = MassAction.process(params[:mass_action], params[:entry_list].path)
|
res = MassAction.process(params[:mass_action], params[:entry_list].path)
|
||||||
notice = if res
|
notice = if res
|
||||||
"#{params[:mass_action]} completed for #{res[:ok]}.\n" \
|
"#{params[:mass_action]} completed for #{res[:ok]}.\n" \
|
||||||
"Failed: objects: #{res[:fail]}"
|
"Failed: #{res[:fail]}"
|
||||||
else
|
else
|
||||||
"Dataset integrity validation failed for #{params[:mass_action]}"
|
"Dataset integrity validation failed for #{params[:mass_action]}"
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
class MassAction
|
class MassAction
|
||||||
def self.process(action_type, entries)
|
def self.process(action_type, entries)
|
||||||
entries = CSV.read(entries, headers: true)
|
return false unless %w[force_delete].include?(action_type)
|
||||||
return process_force_delete(entries) if action_type == 'force_delete'
|
|
||||||
|
|
||||||
false
|
entries = CSV.read(entries, headers: true)
|
||||||
|
process_force_delete(entries) if action_type == force_delete
|
||||||
rescue StandardError
|
rescue StandardError
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -29,7 +29,7 @@ class MassAction
|
||||||
|
|
||||||
def self.force_delete_entries_valid?(entries)
|
def self.force_delete_entries_valid?(entries)
|
||||||
entries.each do |e|
|
entries.each do |e|
|
||||||
reasons = %w[IDENT_BURIED EMAIL PHONE]
|
reasons = %w[ENTITY_BURIED EMAIL PHONE]
|
||||||
return false unless e['domain_name'].present? && reasons.include?(e['delete_reason'])
|
return false unless e['domain_name'].present? && reasons.include?(e['delete_reason'])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
5
test/fixtures/files/mass_actions/valid_mass_force_delete_list.csv
vendored
Normal file
5
test/fixtures/files/mass_actions/valid_mass_force_delete_list.csv
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
domain_name,delete_reason
|
||||||
|
shop.test,ENTITY_BURIED
|
||||||
|
airport.test,PHONE
|
||||||
|
library.test,EMAIL
|
||||||
|
nonexistant.test,ENTITY_BURIED
|
|
|
@ -1,2 +0,0 @@
|
||||||
domain_name,delete_reason
|
|
||||||
shop.test,ENTITY_BURIED
|
|
|
|
@ -9,15 +9,20 @@ class AdminAreaMassActionsForceDeleteTest < ApplicationSystemTestCase
|
||||||
def test_processes_uploaded_valid_csv
|
def test_processes_uploaded_valid_csv
|
||||||
visit admin_mass_actions_path
|
visit admin_mass_actions_path
|
||||||
|
|
||||||
attach_file('entry_list', Rails.root.join('test', 'fixtures', 'files', 'valid_mass_force_delete_list.csv').to_s)
|
attach_file('entry_list', Rails.root.join('test', 'fixtures', 'files', 'mass_actions', 'valid_mass_force_delete_list.csv').to_s)
|
||||||
click_link_or_button 'Start force delete process'
|
click_link_or_button 'Start force delete process'
|
||||||
assert_text 'force_delete completed for ["shop.test"]. Failed: objects: []'
|
assert_text 'force_delete completed for ["shop.test", "airport.test", "library.test"]. Failed: ["nonexistant.test"]'
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_processes_uploaded_invalid_csv
|
def test_processes_uploaded_invalid_csv
|
||||||
visit admin_mass_actions_path
|
visit admin_mass_actions_path
|
||||||
attach_file(:entry_list, Rails.root.join('test', 'fixtures', 'files', 'invalid_mass_force_delete_list.csv').to_s)
|
|
||||||
|
attach_file(:entry_list, Rails.root.join('test', 'fixtures', 'files', 'mass_actions', 'invalid_mass_force_delete_list.csv').to_s)
|
||||||
click_link_or_button 'Start force delete process'
|
click_link_or_button 'Start force delete process'
|
||||||
assert_text 'Dataset integrity validation failed for force_delete'
|
assert_text 'Dataset integrity validation failed for force_delete'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_logs_failed_domains_to_response
|
||||||
|
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue