crowdblog 0.0.1 → 0.0.2
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/.travis.yml +8 -0
- data/Gemfile +5 -2
- data/Gemfile.lock +20 -37
- data/README.md +7 -0
- data/Rakefile +5 -2
- data/app/assets/javascripts/crowdblog/templates/posts/edit.jst.eco +1 -1
- data/app/controllers/crowdblog/application_controller.rb +1 -11
- data/app/controllers/crowdblog/sessions_controller.rb +1 -21
- data/app/models/crowdblog/post.rb +53 -44
- data/app/models/crowdblog/user.rb +9 -13
- data/app/views/layouts/crowdblog/application.html.slim +1 -0
- data/config/cucumber.yml +4 -3
- data/config/routes.rb +1 -2
- data/crowdblog.gemspec +6 -2
- data/features/posts/listing.feature +16 -0
- data/features/posts/manage.feature +31 -0
- data/features/posts/publish.feature +17 -0
- data/features/step_definitions/global_steps.rb +19 -0
- data/features/step_definitions/navigation_steps.rb +45 -0
- data/features/step_definitions/posts_steps.rb +113 -20
- data/features/support/env.rb +18 -0
- data/lib/crowdblog/version.rb +1 -1
- data/script/build +5 -1
- data/spec/dummy/app/models/user.rb +12 -0
- data/spec/dummy/config/application.rb +9 -0
- data/spec/dummy/config/initializers/crowdblog.rb +24 -0
- data/spec/dummy/config/initializers/devise.rb +3 -4
- data/spec/dummy/config/routes.rb +1 -0
- data/spec/fabricators/posts_fabricator.rb +21 -0
- data/spec/fabricators/users_fabricator.rb +19 -0
- data/spec/models/post_spec.rb +152 -56
- data/spec/models/user_spec.rb +57 -0
- metadata +116 -60
- data/README.rdoc +0 -3
- data/app/controllers/crowdblog/users/omniauth_callbacks_controller.rb +0 -21
- data/features/posts/manage_posts.feature +0 -46
- data/features/step_definitions/index_steps.rb +0 -16
- data/features/step_definitions/interaction_steps.rb +0 -26
- data/features/step_definitions/session_steps.rb +0 -15
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crowdblog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-02-
|
14
|
+
date: 2012-02-26 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
18
|
-
requirement: &
|
18
|
+
requirement: &70114209537520 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '3.2'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70114209537520
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jquery-rails
|
29
|
-
requirement: &
|
29
|
+
requirement: &70114209536900 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70114209536900
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: backbone-rails
|
40
|
-
requirement: &
|
40
|
+
requirement: &70114209536200 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70114209536200
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: carrierwave
|
51
|
-
requirement: &
|
51
|
+
requirement: &70114209535560 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *70114209535560
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: devise
|
62
|
-
requirement: &
|
62
|
+
requirement: &70114209550780 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *70114209550780
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: eco
|
73
|
-
requirement: &
|
73
|
+
requirement: &70114209549460 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,10 +78,10 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *70114209549460
|
82
82
|
- !ruby/object:Gem::Dependency
|
83
83
|
name: gravtastic
|
84
|
-
requirement: &
|
84
|
+
requirement: &70114209548600 !ruby/object:Gem::Requirement
|
85
85
|
none: false
|
86
86
|
requirements:
|
87
87
|
- - ! '>='
|
@@ -89,10 +89,10 @@ dependencies:
|
|
89
89
|
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
|
-
version_requirements: *
|
92
|
+
version_requirements: *70114209548600
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: less-rails-bootstrap
|
95
|
-
requirement: &
|
95
|
+
requirement: &70114209548020 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
98
|
- - ! '>='
|
@@ -100,10 +100,10 @@ dependencies:
|
|
100
100
|
version: '0'
|
101
101
|
type: :runtime
|
102
102
|
prerelease: false
|
103
|
-
version_requirements: *
|
103
|
+
version_requirements: *70114209548020
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
106
|
-
requirement: &
|
105
|
+
name: redcarpet
|
106
|
+
requirement: &70114209547520 !ruby/object:Gem::Requirement
|
107
107
|
none: false
|
108
108
|
requirements:
|
109
109
|
- - ! '>='
|
@@ -111,10 +111,10 @@ dependencies:
|
|
111
111
|
version: '0'
|
112
112
|
type: :runtime
|
113
113
|
prerelease: false
|
114
|
-
version_requirements: *
|
114
|
+
version_requirements: *70114209547520
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
117
|
-
requirement: &
|
116
|
+
name: slim_assets
|
117
|
+
requirement: &70114209546900 !ruby/object:Gem::Requirement
|
118
118
|
none: false
|
119
119
|
requirements:
|
120
120
|
- - ! '>='
|
@@ -122,10 +122,10 @@ dependencies:
|
|
122
122
|
version: '0'
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
|
-
version_requirements: *
|
125
|
+
version_requirements: *70114209546900
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
128
|
-
requirement: &
|
127
|
+
name: slim-rails
|
128
|
+
requirement: &70114209546360 !ruby/object:Gem::Requirement
|
129
129
|
none: false
|
130
130
|
requirements:
|
131
131
|
- - ! '>='
|
@@ -133,10 +133,10 @@ dependencies:
|
|
133
133
|
version: '0'
|
134
134
|
type: :runtime
|
135
135
|
prerelease: false
|
136
|
-
version_requirements: *
|
136
|
+
version_requirements: *70114209546360
|
137
137
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
139
|
-
requirement: &
|
138
|
+
name: state_machine
|
139
|
+
requirement: &70114209545860 !ruby/object:Gem::Requirement
|
140
140
|
none: false
|
141
141
|
requirements:
|
142
142
|
- - ! '>='
|
@@ -144,21 +144,21 @@ dependencies:
|
|
144
144
|
version: '0'
|
145
145
|
type: :runtime
|
146
146
|
prerelease: false
|
147
|
-
version_requirements: *
|
147
|
+
version_requirements: *70114209545860
|
148
148
|
- !ruby/object:Gem::Dependency
|
149
|
-
name:
|
150
|
-
requirement: &
|
149
|
+
name: capybara-webkit
|
150
|
+
requirement: &70114209545420 !ruby/object:Gem::Requirement
|
151
151
|
none: false
|
152
152
|
requirements:
|
153
153
|
- - ! '>='
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
|
-
type: :
|
156
|
+
type: :development
|
157
157
|
prerelease: false
|
158
|
-
version_requirements: *
|
158
|
+
version_requirements: *70114209545420
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: cucumber-rails
|
161
|
-
requirement: &
|
161
|
+
requirement: &70114209544900 !ruby/object:Gem::Requirement
|
162
162
|
none: false
|
163
163
|
requirements:
|
164
164
|
- - ! '>='
|
@@ -166,10 +166,32 @@ dependencies:
|
|
166
166
|
version: '0'
|
167
167
|
type: :development
|
168
168
|
prerelease: false
|
169
|
-
version_requirements: *
|
169
|
+
version_requirements: *70114209544900
|
170
170
|
- !ruby/object:Gem::Dependency
|
171
171
|
name: database_cleaner
|
172
|
-
requirement: &
|
172
|
+
requirement: &70114209544460 !ruby/object:Gem::Requirement
|
173
|
+
none: false
|
174
|
+
requirements:
|
175
|
+
- - ! '>='
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0'
|
178
|
+
type: :development
|
179
|
+
prerelease: false
|
180
|
+
version_requirements: *70114209544460
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: fabrication
|
183
|
+
requirement: &70114209543460 !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
185
|
+
requirements:
|
186
|
+
- - ! '>='
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
189
|
+
type: :development
|
190
|
+
prerelease: false
|
191
|
+
version_requirements: *70114209543460
|
192
|
+
- !ruby/object:Gem::Dependency
|
193
|
+
name: faker
|
194
|
+
requirement: &70114209679500 !ruby/object:Gem::Requirement
|
173
195
|
none: false
|
174
196
|
requirements:
|
175
197
|
- - ! '>='
|
@@ -177,10 +199,32 @@ dependencies:
|
|
177
199
|
version: '0'
|
178
200
|
type: :development
|
179
201
|
prerelease: false
|
180
|
-
version_requirements: *
|
202
|
+
version_requirements: *70114209679500
|
181
203
|
- !ruby/object:Gem::Dependency
|
182
204
|
name: fuubar
|
183
|
-
requirement: &
|
205
|
+
requirement: &70114209677600 !ruby/object:Gem::Requirement
|
206
|
+
none: false
|
207
|
+
requirements:
|
208
|
+
- - ! '>='
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: '0'
|
211
|
+
type: :development
|
212
|
+
prerelease: false
|
213
|
+
version_requirements: *70114209677600
|
214
|
+
- !ruby/object:Gem::Dependency
|
215
|
+
name: fuubar-cucumber
|
216
|
+
requirement: &70114209673060 !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
type: :development
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: *70114209673060
|
225
|
+
- !ruby/object:Gem::Dependency
|
226
|
+
name: headless
|
227
|
+
requirement: &70114209754380 !ruby/object:Gem::Requirement
|
184
228
|
none: false
|
185
229
|
requirements:
|
186
230
|
- - ! '>='
|
@@ -188,10 +232,10 @@ dependencies:
|
|
188
232
|
version: '0'
|
189
233
|
type: :development
|
190
234
|
prerelease: false
|
191
|
-
version_requirements: *
|
235
|
+
version_requirements: *70114209754380
|
192
236
|
- !ruby/object:Gem::Dependency
|
193
237
|
name: rspec-rails
|
194
|
-
requirement: &
|
238
|
+
requirement: &70114209752840 !ruby/object:Gem::Requirement
|
195
239
|
none: false
|
196
240
|
requirements:
|
197
241
|
- - ! '>='
|
@@ -199,10 +243,10 @@ dependencies:
|
|
199
243
|
version: '0'
|
200
244
|
type: :development
|
201
245
|
prerelease: false
|
202
|
-
version_requirements: *
|
246
|
+
version_requirements: *70114209752840
|
203
247
|
- !ruby/object:Gem::Dependency
|
204
248
|
name: simplecov
|
205
|
-
requirement: &
|
249
|
+
requirement: &70114209750780 !ruby/object:Gem::Requirement
|
206
250
|
none: false
|
207
251
|
requirements:
|
208
252
|
- - ! '>='
|
@@ -210,10 +254,10 @@ dependencies:
|
|
210
254
|
version: '0'
|
211
255
|
type: :development
|
212
256
|
prerelease: false
|
213
|
-
version_requirements: *
|
257
|
+
version_requirements: *70114209750780
|
214
258
|
- !ruby/object:Gem::Dependency
|
215
259
|
name: simplecov-rcov-text
|
216
|
-
requirement: &
|
260
|
+
requirement: &70114209750060 !ruby/object:Gem::Requirement
|
217
261
|
none: false
|
218
262
|
requirements:
|
219
263
|
- - ! '>='
|
@@ -221,10 +265,10 @@ dependencies:
|
|
221
265
|
version: '0'
|
222
266
|
type: :development
|
223
267
|
prerelease: false
|
224
|
-
version_requirements: *
|
268
|
+
version_requirements: *70114209750060
|
225
269
|
- !ruby/object:Gem::Dependency
|
226
270
|
name: sqlite3
|
227
|
-
requirement: &
|
271
|
+
requirement: &70114209748800 !ruby/object:Gem::Requirement
|
228
272
|
none: false
|
229
273
|
requirements:
|
230
274
|
- - ! '>='
|
@@ -232,7 +276,7 @@ dependencies:
|
|
232
276
|
version: '0'
|
233
277
|
type: :development
|
234
278
|
prerelease: false
|
235
|
-
version_requirements: *
|
279
|
+
version_requirements: *70114209748800
|
236
280
|
description: This mountable engine has the basic functionality to manage Posts
|
237
281
|
email:
|
238
282
|
- opensource@crowdint.com
|
@@ -246,10 +290,11 @@ files:
|
|
246
290
|
- .rspec
|
247
291
|
- .rvmrc
|
248
292
|
- .simplecov
|
293
|
+
- .travis.yml
|
249
294
|
- Gemfile
|
250
295
|
- Gemfile.lock
|
251
296
|
- MIT-LICENSE
|
252
|
-
- README.
|
297
|
+
- README.md
|
253
298
|
- Rakefile
|
254
299
|
- app/assets/images/crowdblog/.gitkeep
|
255
300
|
- app/assets/images/crowdblog/logo.png
|
@@ -272,7 +317,6 @@ files:
|
|
272
317
|
- app/controllers/crowdblog/authors_controller.rb
|
273
318
|
- app/controllers/crowdblog/posts_controller.rb
|
274
319
|
- app/controllers/crowdblog/sessions_controller.rb
|
275
|
-
- app/controllers/crowdblog/users/omniauth_callbacks_controller.rb
|
276
320
|
- app/helpers/crowdblog/application_helper.rb
|
277
321
|
- app/models/crowdblog/asset.rb
|
278
322
|
- app/models/crowdblog/post.rb
|
@@ -293,11 +337,12 @@ files:
|
|
293
337
|
- db/migrate/20120219071614_create_assets.rb
|
294
338
|
- db/migrate/20120219234253_add_alias_to_users.rb
|
295
339
|
- db/migrate/20120220033923_create_vestal_versions.rb
|
296
|
-
- features/posts/
|
297
|
-
- features/
|
298
|
-
- features/
|
340
|
+
- features/posts/listing.feature
|
341
|
+
- features/posts/manage.feature
|
342
|
+
- features/posts/publish.feature
|
343
|
+
- features/step_definitions/global_steps.rb
|
344
|
+
- features/step_definitions/navigation_steps.rb
|
299
345
|
- features/step_definitions/posts_steps.rb
|
300
|
-
- features/step_definitions/session_steps.rb
|
301
346
|
- features/support/env.rb
|
302
347
|
- lib/crowdblog.rb
|
303
348
|
- lib/crowdblog/engine.rb
|
@@ -315,6 +360,7 @@ files:
|
|
315
360
|
- spec/dummy/app/helpers/application_helper.rb
|
316
361
|
- spec/dummy/app/mailers/.gitkeep
|
317
362
|
- spec/dummy/app/models/.gitkeep
|
363
|
+
- spec/dummy/app/models/user.rb
|
318
364
|
- spec/dummy/app/views/layouts/application.html.erb
|
319
365
|
- spec/dummy/config.ru
|
320
366
|
- spec/dummy/config/application.rb
|
@@ -326,6 +372,7 @@ files:
|
|
326
372
|
- spec/dummy/config/environments/test.rb
|
327
373
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
328
374
|
- spec/dummy/config/initializers/carrierwave.rb
|
375
|
+
- spec/dummy/config/initializers/crowdblog.rb
|
329
376
|
- spec/dummy/config/initializers/devise.rb
|
330
377
|
- spec/dummy/config/initializers/inflections.rb
|
331
378
|
- spec/dummy/config/initializers/mime_types.rb
|
@@ -343,8 +390,11 @@ files:
|
|
343
390
|
- spec/dummy/public/500.html
|
344
391
|
- spec/dummy/public/favicon.ico
|
345
392
|
- spec/dummy/script/rails
|
393
|
+
- spec/fabricators/posts_fabricator.rb
|
394
|
+
- spec/fabricators/users_fabricator.rb
|
346
395
|
- spec/helpers/application_helper_spec.rb
|
347
396
|
- spec/models/post_spec.rb
|
397
|
+
- spec/models/user_spec.rb
|
348
398
|
- spec/spec_helper.rb
|
349
399
|
- vendor/assets/javascripts/jquery.uploadify.js
|
350
400
|
- vendor/assets/javascripts/swfobject.js
|
@@ -363,7 +413,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
363
413
|
version: '0'
|
364
414
|
segments:
|
365
415
|
- 0
|
366
|
-
hash: -
|
416
|
+
hash: -4581711537524363820
|
367
417
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
368
418
|
none: false
|
369
419
|
requirements:
|
@@ -372,7 +422,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
372
422
|
version: '0'
|
373
423
|
segments:
|
374
424
|
- 0
|
375
|
-
hash: -
|
425
|
+
hash: -4581711537524363820
|
376
426
|
requirements: []
|
377
427
|
rubyforge_project:
|
378
428
|
rubygems_version: 1.8.10
|
@@ -380,11 +430,12 @@ signing_key:
|
|
380
430
|
specification_version: 3
|
381
431
|
summary: CrowdBlog base functionality and backend
|
382
432
|
test_files:
|
383
|
-
- features/posts/
|
384
|
-
- features/
|
385
|
-
- features/
|
433
|
+
- features/posts/listing.feature
|
434
|
+
- features/posts/manage.feature
|
435
|
+
- features/posts/publish.feature
|
436
|
+
- features/step_definitions/global_steps.rb
|
437
|
+
- features/step_definitions/navigation_steps.rb
|
386
438
|
- features/step_definitions/posts_steps.rb
|
387
|
-
- features/step_definitions/session_steps.rb
|
388
439
|
- features/support/env.rb
|
389
440
|
- spec/dummy/.rvmrc
|
390
441
|
- spec/dummy/README.rdoc
|
@@ -395,6 +446,7 @@ test_files:
|
|
395
446
|
- spec/dummy/app/helpers/application_helper.rb
|
396
447
|
- spec/dummy/app/mailers/.gitkeep
|
397
448
|
- spec/dummy/app/models/.gitkeep
|
449
|
+
- spec/dummy/app/models/user.rb
|
398
450
|
- spec/dummy/app/views/layouts/application.html.erb
|
399
451
|
- spec/dummy/config.ru
|
400
452
|
- spec/dummy/config/application.rb
|
@@ -406,6 +458,7 @@ test_files:
|
|
406
458
|
- spec/dummy/config/environments/test.rb
|
407
459
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
408
460
|
- spec/dummy/config/initializers/carrierwave.rb
|
461
|
+
- spec/dummy/config/initializers/crowdblog.rb
|
409
462
|
- spec/dummy/config/initializers/devise.rb
|
410
463
|
- spec/dummy/config/initializers/inflections.rb
|
411
464
|
- spec/dummy/config/initializers/mime_types.rb
|
@@ -423,6 +476,9 @@ test_files:
|
|
423
476
|
- spec/dummy/public/500.html
|
424
477
|
- spec/dummy/public/favicon.ico
|
425
478
|
- spec/dummy/script/rails
|
479
|
+
- spec/fabricators/posts_fabricator.rb
|
480
|
+
- spec/fabricators/users_fabricator.rb
|
426
481
|
- spec/helpers/application_helper_spec.rb
|
427
482
|
- spec/models/post_spec.rb
|
483
|
+
- spec/models/user_spec.rb
|
428
484
|
- spec/spec_helper.rb
|
data/README.rdoc
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
module Crowdblog
|
2
|
-
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
3
|
-
|
4
|
-
def google_apps
|
5
|
-
auth_hash = request.env['omniauth.auth']
|
6
|
-
email = auth_hash.info['email']
|
7
|
-
Rails.logger.info auth_hash
|
8
|
-
|
9
|
-
user = User.find_by_email(email)
|
10
|
-
user ||= User.create!(email: email, name: auth_hash.info['name'])
|
11
|
-
|
12
|
-
if user.persisted?
|
13
|
-
sign_in_and_redirect user
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
#def google_apps
|
18
|
-
#end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
@javascript
|
2
|
-
Feature: Manage Posts
|
3
|
-
|
4
|
-
Scenario: Posts CRUD
|
5
|
-
Given I am signed in as "test@test.com"
|
6
|
-
And current user is publisher
|
7
|
-
And I go to the posts page
|
8
|
-
And I click on "New Post"
|
9
|
-
And I fill "A Great Post Title" as the post title
|
10
|
-
And I fill "Body" as the post body
|
11
|
-
And I press "Save"
|
12
|
-
Then I should see "A Great Post Title"
|
13
|
-
And I should see "test@test.com"
|
14
|
-
And the post "A Great Post Title" should be authored by current user
|
15
|
-
And the post "A Great Post Title" should have "a-great-post-title" as its permalink
|
16
|
-
When I click "Edit" for "A Great Post Title"
|
17
|
-
And I fill "Another Great Post Title" as the post title
|
18
|
-
And I press "Save"
|
19
|
-
Then I should see "Another Great Post Title"
|
20
|
-
When I click "Delete" for "Another Great Post Title"
|
21
|
-
Then I should not see "Another Great Post Title"
|
22
|
-
|
23
|
-
Scenario: Publish unpublish post
|
24
|
-
Given I am signed in as "test@test.com"
|
25
|
-
And current user is publisher
|
26
|
-
And An author with name "Johan Crupps" and email "johan@crupps.com"
|
27
|
-
And the following posts by "Johan Crupps":
|
28
|
-
| title | body | published |
|
29
|
-
| The great gatsby | Lorem Ipsum Cohiben Allen | false |
|
30
|
-
And I go to the posts page
|
31
|
-
When I click on "Publish"
|
32
|
-
Then the post titled "The great gatsby" is marked as published
|
33
|
-
And current user is set as its publisher
|
34
|
-
When I click on "Publish"
|
35
|
-
Then the post titled "The great gatsby" is marked as drafted
|
36
|
-
|
37
|
-
Scenario: Do not show posts for non-publishers
|
38
|
-
Given I am signed in as "test@test.com"
|
39
|
-
And An author with name "Johan Crupps" and email "johan@crupps.com"
|
40
|
-
And the following posts by "Johan Crupps":
|
41
|
-
| title | body | published |
|
42
|
-
| The great gatsby | Lorem Ipsum Cohiben Allen | false |
|
43
|
-
And I go to the posts page
|
44
|
-
Then I should not see "The great gatsby"
|
45
|
-
|
46
|
-
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Given /^the following posts by "([^"]*)":$/ do |name, table|
|
2
|
-
author = Crowdblog::User.find_by_name name
|
3
|
-
table.hashes.each_with_index do |hash, index|
|
4
|
-
time_index = (index * 5)
|
5
|
-
p = Crowdblog::Post.create!(title: hash[:title], body: hash[:body])
|
6
|
-
p.author = author
|
7
|
-
p.regenerate_permalink
|
8
|
-
p.save!
|
9
|
-
p.publish if hash[:published] == 'true'
|
10
|
-
p.update_attribute(:published_at, time_index.days.ago)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
When /^I go to the index page$/ do
|
15
|
-
visit root_path
|
16
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
Given /^I click on "([^"]*)"$/ do |link_name|
|
2
|
-
click_link link_name
|
3
|
-
end
|
4
|
-
|
5
|
-
Given /^I press "([^"]*)"$/ do |button_name|
|
6
|
-
click_button button_name
|
7
|
-
end
|
8
|
-
|
9
|
-
Then /^I should see "([^"]*)"$/ do |expectation|
|
10
|
-
page.should have_content expectation
|
11
|
-
end
|
12
|
-
|
13
|
-
When /^I click "([^"]*)" for "([^"]*)"$/ do |link_text, row_text|
|
14
|
-
page.execute_script 'window.confirm = function() { return true }'
|
15
|
-
find("tr:contains('#{row_text}')").find("a:contains('#{link_text}')").click
|
16
|
-
end
|
17
|
-
|
18
|
-
Then /^I should not see "([^"]*)"$/ do |expectation|
|
19
|
-
page.should_not have_content expectation
|
20
|
-
end
|
21
|
-
|
22
|
-
Then /^I should see:$/ do |table|
|
23
|
-
table.raw.flatten.each do |expected|
|
24
|
-
page.should have_content expected
|
25
|
-
end
|
26
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
include Devise::TestHelpers
|
2
|
-
|
3
|
-
Given /^I am signed in as "([^"]*)"$/ do |email|
|
4
|
-
@current_user = Crowdblog::User.create!(email: email)
|
5
|
-
@current_user.reset_authentication_token!
|
6
|
-
visit crowdblog_path + "?auth_token=#{@current_user.authentication_token}"
|
7
|
-
end
|
8
|
-
|
9
|
-
Given /^An author with name "([^"]*)" and email "([^"]*)"$/ do |name, email|
|
10
|
-
Crowdblog::User.create!(name: name, email: email)
|
11
|
-
end
|
12
|
-
|
13
|
-
Given /^current user is publisher$/ do
|
14
|
-
@current_user.update_attribute(:is_publisher, true)
|
15
|
-
end
|