spec/thor_spec.rb in datashift-0.9.0 vs spec/thor_spec.rb in datashift-0.10.0
- old
+ new
@@ -6,30 +6,50 @@
#
# Details:: Specification for Thor tasks supplied with datashift
#
require 'thor'
require 'thor/group'
+require 'thor/runner'
-
require File.dirname(__FILE__) + '/spec_helper'
-require 'spree_helper'
-
-load 'products_images.thor'
-
-include DataShift
-
describe 'Thor high level command line tasks' do
-
+
+ before(:all) do
+ DataShift::load_commands
+ end
+
before(:each) do
+ db_clear_connections
end
-
- it "should be able to run spree loaders from a simple command line task" do
- Datashift::Spree.start(["products"])
+ #thor datashift:export:csv -m, --model=MODEL -r, --result=RESULT ...
+ #thor datashift:export:excel -m, --model=MODEL -r, --result=RESULT ...
+ #thor datashift:generate:excel -m, --model=MODEL -r, --result=RESULT ...
+ #thor datashift:import:csv -i, --input=INPUT -m, --model=MODEL ...
+ #thor datashift:import:excel -i, --input=INPUT -m, --model=MODEL ...
+ #thor datashift:paperclip:attach -a, --attachment-klass=ATTACHMENT_KLASS -f, -... ...
+ #thor datashift:tools:zip -p, --path=PATH -r, --results=RESULTS ...
+
+ it "should list available datashift thor tasks" do
+ x = capture(:stdout){ Thor::Runner.start(["list"]) }
+ x.should =~ /.+datashift.+\n---------\n/
+ x.should =~ / csv -i/
+ x.should =~ / excel -i/
end
- it "should be able to run an export to excel from a simple command line task" do
- Datashift::Spree.start(["products"])
+ # N.B Tasks that fire up Rails application need to be run in own Thread or else get
+ # ... You cannot have more than one Rails::Application
+
+ it "should be able to import a model from a complex excel through import CLI" do
+ pending "How to run once rails already initialzed .. error : database configuration does not specify adapter"
+ x = Thread.new {
+ run_in(rails_sandbox()) do
+ stdout = capture(:stdout){
+ Thor::Runner.start(["datashift:import:excel", '-m', 'Project', '-i', ifixture_file('ProjectsSingleCategories.xls')])
+ }
+ puts stdout
+ end
+ }
+ x.join
end
-
end
\ No newline at end of file