Sha256: 00be93b0ef2e5cc06b1131e124029a7bbc5bec7bb68367e5cf8500a61f71994d

Contents?: true

Size: 1.58 KB

Versions: 1

Compression:

Stored size: 1.58 KB

Contents

Feature: Module status

The `status` subcommand statuss all known modules and their status.

Background:
  Given a repository with following Vendorfile:
    """ruby
    vendor 'generated', :version => '0.23' do |v|
      File.open('README', 'w') { |f| f.puts "Hello, World!" }
      File.open('VERSION', 'w') { |f| f.puts v.version }
    end
    """

Scenario: status new module
  When I successfully run `vendor status`
  Then the last output should match /new\s+generated\/0.23/

Scenario: status up-to-date module
  When I successfully run `vendor sync`
  And I successfully run `vendor status`
  Then the last output should match /up to date\s+generated\/0.23/

Scenario: status outdated modules
  When I successfully run `vendor sync`
  And I change Vendorfile to:
    """ruby
    vendor 'generated', :version => '0.42' do |v|
      File.open('README', 'w') { |f| f.puts "Hello, Updated, World!" }
      File.open('VERSION', 'w') { |f| f.puts v.version }
    end
    """
  And I successfully run `vendor status`
  Then the last output should match /outdated\s+generated\/0.42/

Scenario: Module's dependencies are statused if they are known
  When I change Vendorfile to:
    """ruby
    require 'vendorificator/vendor/chef_cookbook'
    chef_cookbook 'memcached'
    """
  And I successfully run `vendor status`
  Then the last output should match /new\s+memcached/
  And the last output should not match "runit"
  When I successfully run `vendor sync`
  And I successfully run `vendor status`
  Then the last output should match /up to date\s+memcached/
  And the last output should match /up to date\s+runit/

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vendorificator-0.2.0 features/status.feature