Sha256: 3bf453687baef955995d5dbb51bf82d8dc466a45b76e2cfc1dfb36f7881be29b

Contents?: true

Size: 1.55 KB

Versions: 2

Compression:

Stored size: 1.55 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 have_content (
      """
      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 have_content (
      """
      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 have_content (
      """
      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

2 entries across 2 versions & 1 rubygems

Version Path
skellington-0.4.3 spec/cli/cukes_spec.rb
skellington-0.4.2 spec/cli/cukes_spec.rb