aboutsummaryrefslogtreecommitdiffstats
path: root/features
diff options
context:
space:
mode:
Diffstat (limited to 'features')
-rw-r--r--features/authors.feature15
-rw-r--r--features/support/step_definitions/authors_steps.rb11
2 files changed, 26 insertions, 0 deletions
diff --git a/features/authors.feature b/features/authors.feature
new file mode 100644
index 0000000..5bb5cea
--- /dev/null
+++ b/features/authors.feature
@@ -0,0 +1,15 @@
+Feature: Blog Post Authors
+ Blog posts can be assigned authors through the given user model
+ current_user is assumed through admin screens
+
+ Scenario: Saving a blog post in blog_posts#new associates the current_user as the author
+ Given there is a user named "hubble"
+ And I am logged in as "hubble"
+
+ When I am on the new blog post form
+ And I fill in "Title" with "This is my blog post"
+ And I fill in "Body" with "And I am hubble"
+ And I press "Save"
+
+ Then there should be 1 blog post
+ And the blog post should belong to "hubble" \ No newline at end of file
diff --git a/features/support/step_definitions/authors_steps.rb b/features/support/step_definitions/authors_steps.rb
new file mode 100644
index 0000000..6f695ca
--- /dev/null
+++ b/features/support/step_definitions/authors_steps.rb
@@ -0,0 +1,11 @@
+Given /^there is a user named "([^\"]*)"$/ do |login|
+ @user = Factory.create(:user, :login => login, :password => "#{login}-123", :password_confirmation => "#{login}-123")
+end
+
+Then /^there should be (\d+) blog posts?$/ do |num|
+ BlogPost.all.size == num
+end
+
+Then /^the blog post should belong to "([^\"]*)"$/ do |login|
+ BlogPost.last.author.login == login
+end \ No newline at end of file