spec/unit/omnibus_spec.rb in omnibus-3.0.0 vs spec/unit/omnibus_spec.rb in omnibus-3.1.0

- old
+ new

@@ -1,20 +1,13 @@ require 'omnibus' require 'spec_helper' describe Omnibus do # evil class variables - before :each do - Omnibus.class_eval { @omnibus_software_root = nil } - Omnibus.class_eval { @software_dirs = nil } - end + before { Omnibus.reset! } + after { Omnibus.reset! } - after :each do - Omnibus.class_eval { @omnibus_software_root = nil } - Omnibus.class_eval { @software_dirs = nil } - end - describe '::omnibus_software_root' do it 'reads the software_gem out of Omnibus::Config.software_gem' do spec_array = [double(Gem::Specification, gem_dir: '/data')] expect(Omnibus::Config).to receive(:software_gem) .and_return('my-omnibus-software-gem') @@ -53,7 +46,30 @@ it 'will not include list of software from omnibus-software gem' do expect(Omnibus.software_dirs.length).to eq(1) end end + end + + describe '#process_dsl_files' do + before do + Omnibus.stub(:project_root).and_return(complicated_path) + stub_ohai(platform: 'linux') + end + + after { Omnibus.reset! } + + it 'populates the 5 projects' do + Omnibus.process_dsl_files + + expect(Omnibus.projects.size).to eq(5) + + names = Omnibus.projects.map(&:name) + expect(names).to include('angrychef') + expect(names).to include('chef-windows') + expect(names).to include('chef') + expect(names).to include('chefdk-windows') + expect(names).to include('chefdk') + end + end end