78 lines
2.7 KiB
Gherkin
78 lines
2.7 KiB
Gherkin
Feature: CLI
|
|
Scenario: Switch back to the original pre-deployment environment
|
|
Given I have the file "tmp/Gemfile.penchant" with the content:
|
|
"""
|
|
gem 'rake'
|
|
"""
|
|
And I have the file "tmp/Gemfile" with the content:
|
|
"""
|
|
# generated by penchant, environment: production, deployment mode (was local)
|
|
"""
|
|
When I run "bin/penchant gemfile other --switch-back" in the "tmp" directory
|
|
Then the file "tmp/Gemfile" should have the following content:
|
|
"""
|
|
# generated by penchant, environment: local
|
|
gem "rake"
|
|
"""
|
|
And the output should include "fallback: other"
|
|
|
|
Scenario: Try to convert a project, ignoring git hooks
|
|
Given I have the file "tmp/Gemfile" with the content:
|
|
"""
|
|
source :rubygems
|
|
"""
|
|
When I run "bin/penchant convert" in the "tmp" directory
|
|
Then the file "tmp/Gemfile.penchant" should include the following content:
|
|
"""
|
|
source :rubygems
|
|
"""
|
|
And the output should include "No git"
|
|
|
|
Scenario: Run in a project where the git hooks are not set up
|
|
Given I have the file "tmp/Gemfile.penchant" with the content:
|
|
"""
|
|
gem 'rake'
|
|
"""
|
|
Given I have the file "tmp/script/hooks/pre-commit" with the content:
|
|
"""
|
|
a penchant hook
|
|
"""
|
|
When I run "bin/penchant gemfile remote" in the "tmp" directory
|
|
Then the output should include "git hooks not installed"
|
|
|
|
Scenario: Run in a project where there are no git hooks, but there is a git repo
|
|
Given I have the file "tmp/Gemfile.penchant" with the content:
|
|
"""
|
|
gem 'rake'
|
|
"""
|
|
Given I have the directory "tmp/.git"
|
|
When I run "bin/penchant gemfile remote" in the "tmp" directory
|
|
Then the output should not include "git hooks not installed"
|
|
|
|
Scenario: Run in a project where git hooks are set up
|
|
Given I have the file "tmp/Gemfile.penchant" with the content:
|
|
"""
|
|
gem 'rake'
|
|
"""
|
|
Given I have the file "tmp/script/hooks/pre-commit" with the content:
|
|
"""
|
|
a penchant hook
|
|
"""
|
|
Given I have the symlink "tmp/.git/hooks/pre-commit" which points to "tmp/script/hooks/pre-commit"
|
|
When I run "bin/penchant gemfile remote" in the "tmp" directory
|
|
Then the output should not include "git hooks not installed"
|
|
|
|
Scenario: Install Penchant into a directory with no Gemfile
|
|
Given I have the directory "tmp"
|
|
When I run "bin/penchant install" in the "tmp" directory
|
|
Then the file "tmp/Gemfile.penchant" should include the following content:
|
|
"""
|
|
source :rubygems
|
|
"""
|
|
Then the file "tmp/Gemfile" should include the following content:
|
|
"""
|
|
source :rubygems
|
|
"""
|
|
And the output should include "No git"
|
|
|