Sha256: b57d8c2b5ecb2dc329361d4e7ffb5c1f2ecf560f1d9404943831ea97ef3d57e6

Contents?: true

Size: 1.29 KB

Versions: 31

Compression:

Stored size: 1.29 KB

Contents

##
# spec/lib/skn_utils/exploring/action_service_spec.rb
#

RSpec.describe SknUtils::Exploring::ActionService, "Example Service Object class with command interface." do
  let(:action) {
    SknUtils::Exploring::ActionService.new('Thingys')
  }

  context "Handles Bad Input. " do
    it "Handles invalid string input params" do
      expect { action.('Samples') }.to output(/Samples/).to_stdout
    end
  end

  context "Single Method Invocations. " do
    it "Handles a call with no param" do
      expect { action.() }.to output(/No Action Taken/).to_stdout
    end
    it "Handles a call with one param" do
      expect { action.(:action_one) }.to output(/Thingys/).to_stdout
    end
    it "Handles a call with more than one param" do
      expect { action.(:action_two, 'Wonderful') }.to output(/Wonderful/).to_stdout
    end
  end

  context "Chaining Method Invocations. " do
    it "Handles calls with no params" do
      expect { action.().() }.to output(/No Action Taken/).to_stdout
    end
    it "Handles a calls with one param" do
      expect { action.(:action_one).(:action_one) }.to output(/Thingys/).to_stdout
    end
    it "Handles a calls with more than one param" do
      expect { action.(:action_two, 'Wonderful').(:action_two, 'Marvelous') }.to output(/Wonderful/).to_stdout
    end
  end

end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
skn_utils-3.5.2 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.5.0 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.4.2 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.4.1 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.4.0 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.12 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.11 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.10 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.9 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.8 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.7 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.6 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.5 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.4 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.3 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.2 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.1 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.3.0 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.2.1 spec/lib/skn_utils/exploring/action_service_spec.rb
skn_utils-3.2.0 spec/lib/skn_utils/exploring/action_service_spec.rb