Task to remove an unused enterprise

Note this task is still rather naive and only covers the simple case
where an enterprise was created but never used and thus, does not have
any associated entities like orders.

This is enough for the case I have at hand where a hub's manager created
an enterprise while he wanted to create a user account #ux. He ended up
with an enterprise named after him and now he asked us to clean that up.
This commit is contained in:
Pau Perez
2019-10-24 15:18:25 +02:00
parent 0ac0bdc381
commit b2616d317f
2 changed files with 28 additions and 0 deletions

View File

@@ -1,6 +1,15 @@
require 'csv'
namespace :ofn do
# Note this task is still rather naive and only covers the simple case where
# an enterprise was created but never used and thus, does not have any
# associated entities like orders.
desc 'remove the specified enterprise'
task :remove_enterprise, [:enterprise_id] => :environment do |_task, args|
enterprise = Enterprise.find(args.enterprise_id)
enterprise.destroy
end
namespace :dev do
desc 'export enterprises to CSV'
task export_enterprises: :environment do

View File

@@ -0,0 +1,19 @@
require 'spec_helper'
require 'rake'
describe 'enterprises.rake' do
describe ':remove_enterprise' do
context 'when the enterprises exists' do
it 'removes the enterprise' do
enterprise = create(:enterprise)
Rake.application.rake_require 'tasks/enterprises'
Rake::Task.define_task(:environment)
expect {
Rake.application.invoke_task "ofn:remove_enterprise[#{enterprise.id}]"
}.to change(Enterprise, :count).by(-1)
end
end
end
end