prologue 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/prologue/version.rb +1 -1
- data/templates/admin/cucumber.rb +78 -0
- data/templates/admin/layout.rb +1 -1
- data/templates/admin/users.rb +2 -4
- data/templates/admin.rb +2 -1
- data/templates/application_layout.rb +1 -1
- data/templates/cancan.rb +6 -6
- data/templates/devise/cucumber.rb +2 -18
- data/templates/jammit.rb +2 -1
- data/templates/test_suite.rb +20 -1
- metadata +5 -4
data/lib/prologue/version.rb
CHANGED
@@ -0,0 +1,78 @@
|
|
1
|
+
inject_into_file 'features/support/paths.rb', :after => "case page_name\n" do
|
2
|
+
<<-'FILE'
|
3
|
+
|
4
|
+
when /the admin/
|
5
|
+
'/admin'
|
6
|
+
|
7
|
+
when /the add user page/
|
8
|
+
'/admin/users/new'
|
9
|
+
FILE
|
10
|
+
end
|
11
|
+
|
12
|
+
create_file 'features/admin.feature' do
|
13
|
+
<<-'FILE'
|
14
|
+
Feature: Admin dashboard
|
15
|
+
As an administrator
|
16
|
+
I want to manage the application
|
17
|
+
So that I can have full control over the site
|
18
|
+
|
19
|
+
Scenario: Login as an admin
|
20
|
+
Given a logged in admin user
|
21
|
+
When I am on the admin
|
22
|
+
Then I should see "Admin"
|
23
|
+
FILE
|
24
|
+
end
|
25
|
+
|
26
|
+
create_file 'features/user_admin.feature' do
|
27
|
+
<<-'FILE'
|
28
|
+
Feature: Administer users
|
29
|
+
As an administrator
|
30
|
+
I want to manage the users
|
31
|
+
So that I can provide support for them
|
32
|
+
|
33
|
+
Background:
|
34
|
+
Given the following role records
|
35
|
+
| name |
|
36
|
+
| Member |
|
37
|
+
|
38
|
+
@javascript
|
39
|
+
Scenario: Create, update, delete a user in the admin
|
40
|
+
Given a logged in admin user
|
41
|
+
When I am on the add user page
|
42
|
+
And I fill in "Name" with "Big Boi"
|
43
|
+
And I fill in "Email" with "big@sirluciousleftfoot.com"
|
44
|
+
And I fill in "Password" with "Ch!coDusty$"
|
45
|
+
And I fill in "Password confirmation" with "Ch!coDusty$"
|
46
|
+
And I check "Member"
|
47
|
+
And I press "Save"
|
48
|
+
Then I should see "User created!"
|
49
|
+
And I should see "Big Boi"
|
50
|
+
|
51
|
+
When I follow "Big Boi"
|
52
|
+
Then the "Name" field should contain "Big Boi"
|
53
|
+
And the "Email" field should contain "big@sirluciousleftfoot.com"
|
54
|
+
And the "Member" checkbox should be checked
|
55
|
+
And the "Admin" checkbox should not be checked
|
56
|
+
|
57
|
+
Then I fill in "Name" with "Bigger Boi"
|
58
|
+
And I fill in "Email" with "bigger@sirluciousleftfoot.com"
|
59
|
+
And I uncheck "Member"
|
60
|
+
And I check "Admin"
|
61
|
+
And I press "Save"
|
62
|
+
Then I should see "Successfully updated Bigger Boi."
|
63
|
+
|
64
|
+
When I follow "Bigger Boi"
|
65
|
+
Then the "Name" field should contain "Bigger Boi"
|
66
|
+
And the "Email" field should contain "bigger@sirluciousleftfoot.com"
|
67
|
+
And the "Member" checkbox should not be checked
|
68
|
+
And the "Admin" checkbox should be checked
|
69
|
+
Then I press "Save"
|
70
|
+
|
71
|
+
When I confirm a js popup on the next step
|
72
|
+
Then I follow "Delete"
|
73
|
+
Then I should see "User deleted."
|
74
|
+
And I should not see "Bigger Boi"
|
75
|
+
|
76
|
+
|
77
|
+
FILE
|
78
|
+
end
|
data/templates/admin/layout.rb
CHANGED
data/templates/admin/users.rb
CHANGED
@@ -111,13 +111,11 @@ create_file 'app/views/admin/users/index.html.haml' do
|
|
111
111
|
%th Name
|
112
112
|
%th Email
|
113
113
|
%th
|
114
|
-
%th
|
115
114
|
%tbody
|
116
|
-
-
|
115
|
+
- @users.each do |user|
|
117
116
|
%tr
|
118
|
-
%td= user.name
|
117
|
+
%td= link_to user.name, edit_admin_user_path(user), :class => 'edit_link'
|
119
118
|
%td= user.email
|
120
|
-
%td= link_to "Edit", edit_admin_user_path(user), :class => 'edit_link'
|
121
119
|
%td
|
122
120
|
- if user.id != current_user.id
|
123
121
|
= link_to "Delete", admin_user_path(user), :confirm => 'Are you sure?', :method => :delete, :class => 'delete_link'
|
data/templates/admin.rb
CHANGED
@@ -25,4 +25,5 @@ gsub_file 'app/controllers/admin/dashboard_controller.rb', /ApplicationControlle
|
|
25
25
|
# make a user admin
|
26
26
|
apply File.expand_path("../admin/users.rb", __FILE__)
|
27
27
|
apply File.expand_path("../admin/dashboard_spec.rb", __FILE__)
|
28
|
-
apply File.expand_path("../admin/users_spec.rb", __FILE__)
|
28
|
+
apply File.expand_path("../admin/users_spec.rb", __FILE__)
|
29
|
+
apply File.expand_path("../admin/cucumber.rb", __FILE__)
|
data/templates/cancan.rb
CHANGED
@@ -76,12 +76,12 @@ end
|
|
76
76
|
|
77
77
|
if ENV['PROLOGUE_ADMIN']
|
78
78
|
inject_into_file 'app/views/admin/users/_form.html.haml', :after => "= f.password_field :password_confirmation\n" do
|
79
|
-
<<-RUBY
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
79
|
+
<<-'RUBY'
|
80
|
+
.form_row
|
81
|
+
- Role.find(:all, :order => "name").each do |role|
|
82
|
+
.check_box_item
|
83
|
+
= check_box_tag "user[role_ids][]", role.id, @user.roles.include?(role), :id => "user_role_#{role.id}"
|
84
|
+
%label{:for => "user_role_#{role.id}"}= role.name.humanize
|
85
85
|
RUBY
|
86
86
|
end
|
87
87
|
|
@@ -1,16 +1,3 @@
|
|
1
|
-
create_file 'features/authentication.feature' do
|
2
|
-
<<-'FILE'
|
3
|
-
Feature: User admin authentication
|
4
|
-
As an administrator
|
5
|
-
I want to manage the application
|
6
|
-
So that I can have full control over the site
|
7
|
-
|
8
|
-
Scenario: Login as an admin
|
9
|
-
Given a logged in admin user
|
10
|
-
When I am on the admin
|
11
|
-
Then I should see "Admin"
|
12
|
-
FILE
|
13
|
-
end
|
14
1
|
|
15
2
|
create_file 'spec/factories/user.rb' do
|
16
3
|
<<-'FILE'
|
@@ -26,13 +13,13 @@ end
|
|
26
13
|
Factory.define :admin, :parent => :user do |admin|
|
27
14
|
admin.email "quickleft@quickleft.com"
|
28
15
|
admin.password "password"
|
29
|
-
admin.roles { [ Factory(:role, :name => '
|
16
|
+
admin.roles { [ Factory(:role, :name => 'Admin') ] }
|
30
17
|
end
|
31
18
|
|
32
19
|
Factory.define :member, :parent => :user do |member|
|
33
20
|
member.email "member@quickleft.com"
|
34
21
|
member.password "password"
|
35
|
-
member.roles { [ Factory(:role, :name => '
|
22
|
+
member.roles { [ Factory(:role, :name => 'Member') ] }
|
36
23
|
end
|
37
24
|
|
38
25
|
Factory.define :role do |role|
|
@@ -79,9 +66,6 @@ end
|
|
79
66
|
inject_into_file 'features/support/paths.rb', :after => "case page_name\n" do
|
80
67
|
<<-'FILE'
|
81
68
|
|
82
|
-
when /the admin/
|
83
|
-
'/admin'
|
84
|
-
|
85
69
|
when /logout/
|
86
70
|
'/users/sign_out'
|
87
71
|
|
data/templates/jammit.rb
CHANGED
data/templates/test_suite.rb
CHANGED
@@ -8,4 +8,23 @@ inject_into_file 'config/application.rb', :after => "# Configure the default enc
|
|
8
8
|
RUBY
|
9
9
|
end
|
10
10
|
|
11
|
-
run 'mkdir spec/factories'
|
11
|
+
run 'mkdir spec/factories'
|
12
|
+
|
13
|
+
create_file 'features/step_definitions/helper_steps.rb' do
|
14
|
+
<<-'FILE'
|
15
|
+
When /^I confirm a js popup on the next step$/ do
|
16
|
+
page.evaluate_script("window.alert = function(msg) { return true; }")
|
17
|
+
page.evaluate_script("window.confirm = function(msg) { return true; }")
|
18
|
+
end
|
19
|
+
FILE
|
20
|
+
end
|
21
|
+
|
22
|
+
create_file 'features/step_definitions/factory_steps.rb' do
|
23
|
+
<<-'FILE'
|
24
|
+
Given /^the following (.+) records?$/ do |factory, table|
|
25
|
+
table.hashes.each do |hash|
|
26
|
+
Factory(factory, hash)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
FILE
|
30
|
+
end
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
- 1
|
8
7
|
- 2
|
9
|
-
|
8
|
+
- 0
|
9
|
+
version: 0.2.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Quick Left
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-10-
|
17
|
+
date: 2010-10-22 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- lib/prologue/version.rb
|
128
128
|
- prologue.gemspec
|
129
129
|
- templates/admin.rb
|
130
|
+
- templates/admin/cucumber.rb
|
130
131
|
- templates/admin/dashboard_spec.rb
|
131
132
|
- templates/admin/layout.rb
|
132
133
|
- templates/admin/sass.rb
|
@@ -185,6 +186,6 @@ rubyforge_project: prologue
|
|
185
186
|
rubygems_version: 1.3.7
|
186
187
|
signing_key:
|
187
188
|
specification_version: 3
|
188
|
-
summary: prologue-0.
|
189
|
+
summary: prologue-0.2.0
|
189
190
|
test_files: []
|
190
191
|
|