mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-04-04 07:09:14 +00:00
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:
@@ -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
|
||||
|
||||
19
spec/lib/tasks/enterprises_rake_spec.rb
Normal file
19
spec/lib/tasks/enterprises_rake_spec.rb
Normal 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
|
||||
Reference in New Issue
Block a user