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