diff --git a/lib/producer/core/test.rb b/lib/producer/core/test.rb index b60c5dd..6618479 100644 --- a/lib/producer/core/test.rb +++ b/lib/producer/core/test.rb @@ -1,6 +1,12 @@ module Producer module Core class Test + require 'forwardable' + + extend Forwardable + def_delegators :@env, :remote + def_delegators :remote, :fs + attr_reader :env, :arguments def initialize(env, *arguments, negated: false) diff --git a/lib/producer/core/tests/has_env.rb b/lib/producer/core/tests/has_env.rb index bf18bc6..0195520 100644 --- a/lib/producer/core/tests/has_env.rb +++ b/lib/producer/core/tests/has_env.rb @@ -3,7 +3,7 @@ module Producer module Tests class HasEnv < Test def verify - env.remote.environment.key? arguments.first.to_s.upcase + remote.environment.key? arguments.first.to_s.upcase end end end diff --git a/lib/producer/core/tests/has_file.rb b/lib/producer/core/tests/has_file.rb index 12936c0..f744b07 100644 --- a/lib/producer/core/tests/has_file.rb +++ b/lib/producer/core/tests/has_file.rb @@ -3,7 +3,7 @@ module Producer module Tests class HasFile < Test def verify - env.remote.fs.file? arguments.first + fs.file? arguments.first end end end diff --git a/spec/producer/core/test_spec.rb b/spec/producer/core/test_spec.rb index 1746ef4..94afd8e 100644 --- a/spec/producer/core/test_spec.rb +++ b/spec/producer/core/test_spec.rb @@ -2,7 +2,7 @@ require 'spec_helper' module Producer::Core describe Test do - let(:env) { double 'env' } + let(:env) { Env.new } let(:arguments) { [:some, :arguments] } subject(:test) { Test.new(env, *arguments) } @@ -34,6 +34,18 @@ module Producer::Core end end + describe '#remote' do + it 'returns env remote' do + expect(test.remote).to be test.env.remote + end + end + + describe '#fs' do + it 'returns env remote fs' do + expect(test.fs).to be test.env.remote.fs + end + end + describe '#arguments' do it 'returns the assigned arguments' do expect(test.arguments).to eq arguments