site generator specs
arnaud sellenet
committed Apr 08, 2014
commit cb1e17593f3c7b03cfa58631c3aea3d40b0d7279
Showing 1
changed file with
52 additions
and 0 deletions
spec/generators/site_spec.rb
+52
-0
| @@ | @@ -0,0 +1,52 @@ |
| + | require_relative 'generators_helper' |
| + | require 'locomotive/wagon/generators/site' |
| + | |
| + | describe Locomotive::Wagon::Generators::Site do |
| + | |
| + | class DummySite; end |
| + | let(:generator) { Locomotive::Wagon::Generators::Site } |
| + | let(:args) { ['my_site', DummySite, 'Dummy site generator' ] } |
| + | |
| + | describe '#register' do |
| + | before { generator::List.instance._list = [] } |
| + | subject { generator.register(*args) } |
| + | |
| + | context 'first time registring' do |
| + | it { should be_true } |
| + | it 'adds a site to the list' do |
| + | expect { subject }.to change(generator.list, :size).by(1) |
| + | end |
| + | end |
| + | |
| + | context 'second time registring' do |
| + | before { generator.register(*args) } |
| + | it { should be_false } |
| + | it 'adds a site to the list' do |
| + | expect{subject}.to change(generator.list, :size).by(0) |
| + | end |
| + | end |
| + | end |
| + | |
| + | describe '#get' do |
| + | before { generator.register(*args) } |
| + | |
| + | context 'existing site skeleton' do |
| + | subject { generator.get('my_site') } |
| + | its(:klass) { should == DummySite } |
| + | its(:name) { should == :my_site } |
| + | its(:description) { should eq 'Dummy site generator' } |
| + | end |
| + | end |
| + | |
| + | describe '#list_to_json' do |
| + | before do |
| + | generator::List.instance._list = [] |
| + | generator.register('blank', Locomotive::Wagon::Generators::Site::Blank, 'Blank site') |
| + | end |
| + | |
| + | subject { generator.list_to_json } |
| + | it 'returns json with array of hashes' do |
| + | JSON.parse(subject).first.should be_kind_of Hash |
| + | end |
| + | end |
| + | end |
| \ No newline at end of file | |