specs for couchapp

This commit is contained in:
Chris Anderson 2008-09-16 11:15:36 -04:00
parent 49148644ea
commit e3da7d5c8f

57
spec/couchapp_spec.rb Normal file
View file

@ -0,0 +1,57 @@
require File.dirname(__FILE__) + '/spec_helper'
describe "couchapp" do
before(:all) do
@fixdir = File.expand_path(File.dirname(__FILE__)) + '/fixtures/couchapp-test'
@couchapp = File.expand_path(File.dirname(__FILE__)) + '/../bin/couchapp'
`rm -rf #{@fixdir}`
`mkdir -p #{@fixdir}`
@run = "cd #{@fixdir} && #{@couchapp}"
end
describe "--help" do
it "should output the opts" do
`#{@run} --help`.should match(/Usage/)
end
end
describe "generate my-app" do
it "should create an app directory" do
`#{@run} generate my-app`.should match(/generating/i)
Dir["#{@fixdir}/*"].select{|x|x =~ /my-app/}.length.should == 1
end
it "should create a views directory" do
`#{@run} generate my-app`.should match(/generating/i)
Dir["#{@fixdir}/my-app/*"].select{|x|x =~ /views/}.length.should == 1
end
end
describe "push my-app #{TESTDB}" do
before(:all) do
@cr = CouchRest.new(COUCHHOST)
@db = @cr.database(TESTDB)
@db.delete! rescue nil
@db = @cr.create_db(TESTDB) rescue nil
`#{@run} generate my-app`
end
it "should create the design document with the app name" do
`#{@run} push my-app #{TESTDB}`
lambda{@db.get("_design/my-app")}.should_not raise_error
end
end
describe "push my-app my-design #{TESTDB}" do
before(:all) do
@cr = CouchRest.new(COUCHHOST)
@db = @cr.database(TESTDB)
@db.delete! rescue nil
@db = @cr.create_db(TESTDB) rescue nil
`#{@run} generate my-app`
end
it "should create the design document" do
end
end
end