saucy 0.9.1 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +12 -0
- data/features/run_features.feature +10 -10
- data/features/step_definitions/rails_steps.rb +2 -2
- data/lib/generators/saucy/features/templates/features/manage_billing.feature +4 -4
- data/lib/generators/saucy/features/templates/features/manage_plan.feature +6 -6
- data/lib/generators/saucy/features/templates/features/manage_users.feature +8 -8
- data/lib/generators/saucy/features/templates/features/new_account.feature +1 -1
- data/lib/generators/saucy/features/templates/features/trial_plans.feature +3 -3
- data/lib/generators/saucy/features/templates/step_definitions/plan_steps.rb +12 -0
- data/lib/generators/saucy/features/templates/step_definitions/session_steps.rb +0 -6
- metadata +7 -7
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
0.10.0
|
2
|
+
|
3
|
+
Bump to a newer version of Clearance.
|
4
|
+
|
5
|
+
Update features:
|
6
|
+
* Make a trial_plans.feature step definition more specific so as not to conflict
|
7
|
+
with a saucy-kiss gem feature.
|
8
|
+
* Update step definitions to work with newer clearance.
|
9
|
+
|
10
|
+
You will want to regenerate the saucy features, or look at the commit diffs and
|
11
|
+
introduce the above two changes yourself.
|
12
|
+
|
1
13
|
0.9.1
|
2
14
|
|
3
15
|
Added canceled observer event.
|
@@ -7,7 +7,7 @@ Feature: generate a saucy application and run rake
|
|
7
7
|
And I copy the locked Gemfile from this project
|
8
8
|
And I append to "Gemfile" with:
|
9
9
|
"""
|
10
|
-
gem "clearance",
|
10
|
+
gem "clearance", "~> 0.11.2"
|
11
11
|
gem "cucumber-rails"
|
12
12
|
gem "capybara"
|
13
13
|
gem "factory_girl_rails"
|
@@ -22,7 +22,7 @@ Feature: generate a saucy application and run rake
|
|
22
22
|
gem "jquery-rails"
|
23
23
|
"""
|
24
24
|
When I add the "saucy" gem from this project as a dependency
|
25
|
-
And I successfully run "bundle install
|
25
|
+
And I successfully run "bundle install"
|
26
26
|
And I successfully run "rails generate jquery:install --force"
|
27
27
|
And I bootstrap the application for clearance
|
28
28
|
And I bootstrap the application for saucy
|
@@ -31,8 +31,8 @@ Feature: generate a saucy application and run rake
|
|
31
31
|
When I successfully run "rails generate saucy:install"
|
32
32
|
And I successfully run "rails generate saucy:specs"
|
33
33
|
And I successfully run "rails generate saucy:features"
|
34
|
-
And I successfully run "rake db:migrate"
|
35
|
-
And I run "rake"
|
34
|
+
And I successfully run "bundle exec rake db:migrate"
|
35
|
+
And I run "bundle exec rake"
|
36
36
|
Then it should pass with:
|
37
37
|
"""
|
38
38
|
passed
|
@@ -45,9 +45,9 @@ Feature: generate a saucy application and run rake
|
|
45
45
|
And I successfully run "rails generate saucy:specs"
|
46
46
|
And I successfully run "rails generate saucy:features"
|
47
47
|
And I successfully run "rails generate saucy:views"
|
48
|
-
And I successfully run "rake db:migrate"
|
48
|
+
And I successfully run "bundle exec rake db:migrate"
|
49
49
|
And I give a more detailed new account message
|
50
|
-
And I run "rake"
|
50
|
+
And I run "bundle exec rake"
|
51
51
|
Then it should pass with:
|
52
52
|
"""
|
53
53
|
passed
|
@@ -59,9 +59,9 @@ Feature: generate a saucy application and run rake
|
|
59
59
|
When I successfully run "rails generate saucy:install"
|
60
60
|
And I successfully run "rails generate saucy:specs"
|
61
61
|
And I successfully run "rails generate saucy:features"
|
62
|
-
And I successfully run "rake db:migrate"
|
62
|
+
And I successfully run "bundle exec rake db:migrate"
|
63
63
|
And I add a custom layout to the accounts index
|
64
|
-
And I run "rake"
|
64
|
+
And I run "bundle exec rake"
|
65
65
|
Then it should pass with:
|
66
66
|
"""
|
67
67
|
passed
|
@@ -73,9 +73,9 @@ Feature: generate a saucy application and run rake
|
|
73
73
|
When I successfully run "rails generate saucy:install"
|
74
74
|
And I successfully run "rails generate saucy:specs"
|
75
75
|
And I successfully run "rails generate saucy:features"
|
76
|
-
And I successfully run "rake db:migrate"
|
76
|
+
And I successfully run "bundle exec rake db:migrate"
|
77
77
|
And I copy the specs for this project
|
78
|
-
And I run "rake spec"
|
78
|
+
And I run "bundle exec rake spec"
|
79
79
|
Then it should pass with:
|
80
80
|
"""
|
81
81
|
0 failures
|
@@ -47,7 +47,7 @@ When /^I add a custom layout to the accounts index$/ do
|
|
47
47
|
create_file('features/custom_accounts_index_layout.feature', <<-SCENARIO)
|
48
48
|
Feature: The accounts index should have a custom layout
|
49
49
|
Scenario: Custom layout
|
50
|
-
Given I am signed up as "email@person.com
|
50
|
+
Given I am signed up as "email@person.com"
|
51
51
|
And the following projects exist:
|
52
52
|
| name | account |
|
53
53
|
| ClothesPin | name: One |
|
@@ -56,7 +56,7 @@ When /^I add a custom layout to the accounts index$/ do
|
|
56
56
|
And "email@person.com" is a member of the "ClothesPin" project
|
57
57
|
And "email@person.com" is a member of the "Talkr" project
|
58
58
|
When I go to the sign in page
|
59
|
-
And I sign in as "email@person.com
|
59
|
+
And I sign in as "email@person.com"
|
60
60
|
And I go to the dashboard page
|
61
61
|
Then I should see "Custom Layout Content"
|
62
62
|
SCENARIO
|
@@ -8,7 +8,7 @@ Feature: Manage Billing
|
|
8
8
|
And the following account exists:
|
9
9
|
| name | keyword | plan | cardholder_name | billing_email | card_number | verification_code | expiration_month | expiration_year |
|
10
10
|
| Test | test | name: Paid | Joe Smith | jsmith@example.com | 4111111111115555 | 122 | 01 | 2015 |
|
11
|
-
And I have signed in with "joe@example.com
|
11
|
+
And I have signed in with "joe@example.com"
|
12
12
|
And "joe@example.com" is an admin of the "Test" account
|
13
13
|
When I go to the billing page for the "Test" account
|
14
14
|
Then I should see "card ending in 5555"
|
@@ -38,7 +38,7 @@ Feature: Manage Billing
|
|
38
38
|
| name | keyword | plan | cardholder_name | billing_email | card_number | verification_code | expiration_month | expiration_year |
|
39
39
|
| Test | test | name: Paid | Joe Smith | jsmith@example.com | 4111111111115555 | 122 | 01 | 2015 |
|
40
40
|
And the "Test" account is past due
|
41
|
-
And I have signed in with "joe@example.com
|
41
|
+
And I have signed in with "joe@example.com"
|
42
42
|
And "joe@example.com" is an admin of the "Test" account
|
43
43
|
When I go to the settings page for the "Test" account
|
44
44
|
Then I should be on the billing page for the "Test" account
|
@@ -72,7 +72,7 @@ Feature: Manage Billing
|
|
72
72
|
| status | amount | created_at |
|
73
73
|
| Settled | 20.00 | July 1, 2010 |
|
74
74
|
| Settled | 5.00 | August 1, 2010 |
|
75
|
-
And I have signed in with "joe@example.com
|
75
|
+
And I have signed in with "joe@example.com"
|
76
76
|
And "joe@example.com" is an admin of the "Test" account
|
77
77
|
When I go to the billing page for the "Test" account
|
78
78
|
Then I should see "Your Invoices"
|
@@ -84,7 +84,7 @@ Feature: Manage Billing
|
|
84
84
|
And the following account exists:
|
85
85
|
| name | keyword | plan | cardholder_name | billing_email | card_number | verification_code | expiration_month | expiration_year |
|
86
86
|
| Test | test | name: Paid | Joe Smith | jsmith@example.com | 4111111111115555 | 122 | 01 | 2015 |
|
87
|
-
And I have signed in with "joe@example.com
|
87
|
+
And I have signed in with "joe@example.com"
|
88
88
|
And "joe@example.com" is an admin of the "Test" account
|
89
89
|
When I go to the billing page for the "Test" account
|
90
90
|
And I follow "Change"
|
@@ -9,7 +9,7 @@ Feature: Manage Plan
|
|
9
9
|
And the following account exists:
|
10
10
|
| name | keyword | plan | cardholder_name | billing_email | card_number | verification_code | expiration_month | expiration_year |
|
11
11
|
| Test | test | name: Basic | Joe Smith | jsmith@example.com | 4111111111115555 | 122 | 01 | 2015 |
|
12
|
-
And I have signed in with "joe@example.com
|
12
|
+
And I have signed in with "joe@example.com"
|
13
13
|
And "joe@example.com" is an admin of the "Test" account
|
14
14
|
When I go to the settings page for the "Test" account
|
15
15
|
Then I should see "Your Plan"
|
@@ -28,7 +28,7 @@ Feature: Manage Plan
|
|
28
28
|
And the following account exists:
|
29
29
|
| name | keyword | plan |
|
30
30
|
| Test | test | name: Free |
|
31
|
-
And I have signed in with "joe@example.com
|
31
|
+
And I have signed in with "joe@example.com"
|
32
32
|
And "joe@example.com" is an admin of the "Test" account
|
33
33
|
When I go to the settings page for the "Test" account
|
34
34
|
Then I should not see "Billing" within ".subnav"
|
@@ -56,7 +56,7 @@ Feature: Manage Plan
|
|
56
56
|
And the following account exists:
|
57
57
|
| name | keyword | plan |
|
58
58
|
| Test | test | name: Free |
|
59
|
-
And I have signed in with "joe@example.com
|
59
|
+
And I have signed in with "joe@example.com"
|
60
60
|
And "joe@example.com" is an admin of the "Test" account
|
61
61
|
When I go to the settings page for the "Test" account
|
62
62
|
Then I should not see "Billing" within ".subnav"
|
@@ -80,7 +80,7 @@ Feature: Manage Plan
|
|
80
80
|
And the following account exists:
|
81
81
|
| name | keyword | plan | cardholder_name | billing_email | card_number | verification_code | expiration_month | expiration_year |
|
82
82
|
| Test | test | name: Basic | Joe Smith | jsmith@example.com | 4111111111115555 | 122 | 01 | 2015 |
|
83
|
-
And I have signed in with "joe@example.com
|
83
|
+
And I have signed in with "joe@example.com"
|
84
84
|
And "joe@example.com" is an admin of the "Test" account
|
85
85
|
When I go to the settings page for the "Test" account
|
86
86
|
Then I should see "Your Plan"
|
@@ -107,7 +107,7 @@ Feature: Manage Plan
|
|
107
107
|
| name: Free | projects | 1 | number |
|
108
108
|
| name: Basic | ssl | 1 | boolean |
|
109
109
|
| name: Free | ssl | 0 | boolean |
|
110
|
-
And I have signed in with "joe@example.com
|
110
|
+
And I have signed in with "joe@example.com"
|
111
111
|
And "joe@example.com" is an admin of the "Test" account
|
112
112
|
When I go to the settings page for the "Test" account
|
113
113
|
Then I should see "Your Plan"
|
@@ -134,7 +134,7 @@ Feature: Manage Plan
|
|
134
134
|
| name: Basic | users | 1 | number |
|
135
135
|
| name: Basic | projects | 5 | number |
|
136
136
|
| name: Basic | ssl | 1 | boolean |
|
137
|
-
And I have signed in with "joe@example.com
|
137
|
+
And I have signed in with "joe@example.com"
|
138
138
|
And "joe@example.com" is an admin of the "Test" account
|
139
139
|
When I go to the settings page for the "Test" account
|
140
140
|
Then I should see "1/1" within ".users.meter"
|
@@ -21,8 +21,8 @@ Feature: Managing users
|
|
21
21
|
When I sign out
|
22
22
|
And I follow the link sent to "invitee@example.com"
|
23
23
|
And I fill in the following new user:
|
24
|
-
| Name | Billy
|
25
|
-
| Password |
|
24
|
+
| Name | Billy |
|
25
|
+
| Password | password |
|
26
26
|
And I press "Accept Invitation"
|
27
27
|
Then I should be signed in
|
28
28
|
And "invitee@example.com" should be a member of the "See me" project
|
@@ -34,7 +34,7 @@ Feature: Managing users
|
|
34
34
|
Scenario: Invite existing user who is not signed in
|
35
35
|
Given the following user exists:
|
36
36
|
| email | password |
|
37
|
-
| invitee@example.com |
|
37
|
+
| invitee@example.com | password |
|
38
38
|
When I follow "Invite user"
|
39
39
|
And I fill in "Email" with "invitee@example.com"
|
40
40
|
And I press "Invite User"
|
@@ -42,7 +42,7 @@ Feature: Managing users
|
|
42
42
|
When I sign out
|
43
43
|
And I follow the link sent to "invitee@example.com"
|
44
44
|
And I fill in the following existing user:
|
45
|
-
| Password |
|
45
|
+
| Password | password |
|
46
46
|
And I press "Accept Invitation"
|
47
47
|
Then I should be signed in
|
48
48
|
And "invitee@example.com" should be a member of the "Test" account
|
@@ -50,13 +50,13 @@ Feature: Managing users
|
|
50
50
|
Scenario: Invite existing user who is signed in
|
51
51
|
Given the following user exists:
|
52
52
|
| email | password |
|
53
|
-
| invitee@example.com |
|
53
|
+
| invitee@example.com | password |
|
54
54
|
When I follow "Invite user"
|
55
55
|
And I fill in "Email" with "invitee@example.com"
|
56
56
|
And I press "Invite User"
|
57
57
|
Then I should see "invited"
|
58
58
|
When I sign out
|
59
|
-
When I sign in as "invitee@example.com
|
59
|
+
When I sign in as "invitee@example.com"
|
60
60
|
And I follow the link sent to "invitee@example.com"
|
61
61
|
Then I should be signed in
|
62
62
|
And "invitee@example.com" should be a member of the "Test" account
|
@@ -72,7 +72,7 @@ Feature: Managing users
|
|
72
72
|
Scenario: Invite admin users
|
73
73
|
Given the following user exists:
|
74
74
|
| email | password |
|
75
|
-
| invitee@example.com |
|
75
|
+
| invitee@example.com | password |
|
76
76
|
When I follow "Invite user"
|
77
77
|
And I fill in "Email" with "invitee@example.com"
|
78
78
|
And I check "Grant administrator privileges"
|
@@ -80,7 +80,7 @@ Feature: Managing users
|
|
80
80
|
And I sign out
|
81
81
|
And I follow the link sent to "invitee@example.com"
|
82
82
|
And I fill in the following existing user:
|
83
|
-
| Password |
|
83
|
+
| Password | password |
|
84
84
|
And I press "Accept Invitation"
|
85
85
|
Then I should be signed in
|
86
86
|
And "invitee@example.com" should be an admin member of the "Test" account
|
@@ -4,7 +4,7 @@ Feature: user adds a new account
|
|
4
4
|
Given a plan exists with a name of "Free"
|
5
5
|
|
6
6
|
Scenario: existing user adds an account
|
7
|
-
Given I am signed up as "user@example.com
|
7
|
+
Given I am signed up as "user@example.com"
|
8
8
|
When I go to the sign up page for the "Free" plan
|
9
9
|
And I fill in "Email" with "user@example.com"
|
10
10
|
And I fill in "Password" with "test"
|
@@ -14,7 +14,7 @@ Feature: Trial plans
|
|
14
14
|
When I go to the list of plans page
|
15
15
|
And I follow "Temp"
|
16
16
|
Then I should see "Free"
|
17
|
-
And I should see
|
17
|
+
And I should see that the plan is a trial plan
|
18
18
|
And I should see "Your trial will expire after 30 days"
|
19
19
|
But I should not see "users"
|
20
20
|
When I fill in "Email" with "email@person.com"
|
@@ -41,7 +41,7 @@ Feature: Trial plans
|
|
41
41
|
When I go to the list of plans page
|
42
42
|
And I follow "Eternal"
|
43
43
|
Then I should see "users"
|
44
|
-
|
44
|
+
And I should see that the plan is not a trial plan
|
45
45
|
And I should not see "expire"
|
46
46
|
|
47
47
|
Scenario: Use a non-trial plan forever
|
@@ -67,7 +67,7 @@ Feature: Trial plans
|
|
67
67
|
And the "Test" account was created 7 days ago
|
68
68
|
When the daily Saucy jobs are processed
|
69
69
|
Then an email with subject "A check in" should be sent to "admin@example.com"
|
70
|
-
When I sign in as "admin@example.com
|
70
|
+
When I sign in as "admin@example.com"
|
71
71
|
And I follow the link sent to "admin@example.com" with subject "A check in"
|
72
72
|
Then I should be on the new project page for the newest account by "admin@example.com"
|
73
73
|
|
@@ -14,3 +14,15 @@ When /^I should see the "([^"]*)" plan before the "([^"]*)" plan$/ do |first_pla
|
|
14
14
|
joint_expression = /#{first_expression}.*#{second_expression}/m
|
15
15
|
page.body.should =~ joint_expression
|
16
16
|
end
|
17
|
+
|
18
|
+
Then "I should see that the plan is a trial plan" do
|
19
|
+
within(".plan.chosen") do
|
20
|
+
page.should have_content("Trial")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
Then "I should see that the plan is not a trial plan" do
|
25
|
+
within(".plan.chosen") do
|
26
|
+
page.should have_no_content("Trial")
|
27
|
+
end
|
28
|
+
end
|
@@ -25,12 +25,6 @@ Given /^I am signed in as an admin of the "([^"]*)" account$/ do |account_name|
|
|
25
25
|
When %{I sign in as "#{user.email}"}
|
26
26
|
end
|
27
27
|
|
28
|
-
When /^I sign in as "([^"\/]*)"$/ do |email|
|
29
|
-
user = User.find_by_email!(email)
|
30
|
-
user.update_attributes!(:password => 'test')
|
31
|
-
When %{I sign in as "#{email}/test"}
|
32
|
-
end
|
33
|
-
|
34
28
|
Given /^I am signed in$/ do
|
35
29
|
user = Factory(:user)
|
36
30
|
When %{I sign in as "#{user.email}"}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: saucy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 55
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 10
|
9
|
+
- 0
|
10
|
+
version: 0.10.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- thoughtbot, inc.
|
@@ -31,12 +31,12 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
hash:
|
34
|
+
hash: 55
|
35
35
|
segments:
|
36
36
|
- 0
|
37
37
|
- 11
|
38
|
-
-
|
39
|
-
version: 0.11.
|
38
|
+
- 2
|
39
|
+
version: 0.11.2
|
40
40
|
type: :runtime
|
41
41
|
version_requirements: *id001
|
42
42
|
- !ruby/object:Gem::Dependency
|