-
Notifications
You must be signed in to change notification settings - Fork 5
/
with_defined_task_and_valid_options.feature
39 lines (35 loc) · 1.27 KB
/
with_defined_task_and_valid_options.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Feature: The #mirror_rake_tasks DSL method with a defined task and valid options
In order to include Rake tasks with descriptions in my Capistrano recipes,
As a developer using Cape,
I want to use the Cape DSL.
Scenario: mirror only the matching Rake task
Given a full-featured Rakefile
And a Capfile with:
"""
Cape do
mirror_rake_tasks :with_period, :roles => :app
end
"""
When I run `cap -vT`
Then the output should contain:
"""
cap with_period # Ends with period.
"""
And the output should not contain "without_period"
And the output should not contain "my_namespace"
Scenario: mirror the matching Rake task with its implementation
Given a full-featured Rakefile
And a Capfile with:
"""
set :current_path, '/current/path'
Cape do
mirror_rake_tasks 'with_period', :roles => :app
end
"""
When I run `cap with_period`
Then the output should contain:
"""
* executing `with_period'
* executing "cd /current/path && /usr/bin/env `/usr/bin/env bundle check >/dev/null 2>&1; case $? in 0|1 ) echo bundle exec ;; esac` rake with_period"
`with_period' is only run for servers matching {:roles=>:app}, but no servers matched
"""