Sha256: 1fd96d5310972c7a57045b29559d2e862cb2c1ed00b94f143c801b912ba69c6c

Contents?: true

Size: 1.54 KB

Versions: 1

Compression:

Stored size: 1.54 KB

Contents

module Skellington
  describe CLI do
    let :subject do
      described_class.new
    end

    it 'generates some cucumber file' do
      subject.generate 'dummy_app'
      expect('dummy_app/features/dummy_app.feature').to contain (
      """
      Feature: Make sure DummyApp is plumbed in correctly

        Scenario: Get root
          When I send a GET request to \"/\"
          Then the response status should be \"200\"
      """
      )

      expect('dummy_app/features/json.feature').to contain (
      """
      Feature: Get JSON

      Background:
        Given I send and accept JSON

      Scenario: Get JSON for a repo
        When I send a GET request to \"/\"
        Then the response status should be \"200\"
        And the JSON response should have \"$app\" with the text \"DummyApp\"
      """
      )

      expect('dummy_app/features/support/env.rb').to contain (
      """
      ENV['RACK_ENV'] = 'test'

      require File.join(File.dirname(__FILE__), '..', '..', 'lib/dummy_app.rb')

      require 'capybara'
      require 'capybara/cucumber'
      require 'rspec'
      require 'cucumber/api_steps'
      require 'active_support/core_ext/object/blank'

      Capybara.app = DummyApp

      class DummyAppWorld
        include Capybara::DSL
        include RSpec::Expectations
        include RSpec::Matchers

        def app
          DummyApp::App
        end
      end

      World do
        DummyAppWorld.new
      end
      """
      )

      expect(File).to exist 'dummy_app/features/step_definitions/dummy_app_steps.rb'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
skellington-0.4.1 spec/cli/cukes_spec.rb