From 4ac6bd7d8544fa8345e596e40d74787455d4e9d2 Mon Sep 17 00:00:00 2001
From: Sarah Mei <sarahmei@gmail.com>
Date: Mon, 5 Sep 2011 16:16:02 -0700
Subject: [PATCH] Refactor posts.feature, take out Scenario Outlines which
 seemed to causing issues on some systems

---
 features/mentions_from_profile_page.feature   |  53 +++++++++
 ...s.feature => posts_from_main_page.feature} | 110 +++++++-----------
 2 files changed, 92 insertions(+), 71 deletions(-)
 create mode 100644 features/mentions_from_profile_page.feature
 rename features/{posts.feature => posts_from_main_page.feature} (73%)

diff --git a/features/mentions_from_profile_page.feature b/features/mentions_from_profile_page.feature
new file mode 100644
index 0000000000..b286780c1e
--- /dev/null
+++ b/features/mentions_from_profile_page.feature
@@ -0,0 +1,53 @@
+@javascript
+Feature: mentioning a contact from their profile page
+    In order to enlighten humanity for the good of society
+    As a rock star
+    I want to mention someone I think is cool
+
+    Background:
+      Given I am on the home page
+      And a user with username "bob"
+      And a user with username "alice"
+
+      When I sign in as "bob@bob.bob"
+      And a user with username "bob" is connected with "alice"
+      And I have an aspect called "PostTo"
+      And I have an aspect called "DidntPostTo"
+      And I have user with username "alice" in an aspect called "PostTo"
+      And I have user with username "alice" in an aspect called "DidntPostTo"
+
+      And I am on the home page
+
+    Scenario: mentioning while posting to all aspects
+      Given I am on "alice@alice.alice"'s page
+      And I have turned off jQuery effects
+      And I click "Mention" button
+      And I expand the publisher in the modal window
+      And I append "I am eating a yogurt" to the publisher
+      And I press "Share" in the modal window
+
+      When I am on the aspects page
+      And I follow "PostTo" within "#aspect_nav"
+      Then I should see "I am eating a yogurt"
+
+      When I am on the aspects page
+      And I follow "DidntPostTo" within "#aspect_nav"
+      Then I should see "I am eating a yogurt"
+
+    Scenario: mentioning while posting to just one aspect
+      Given I am on "alice@alice.alice"'s page
+      And I have turned off jQuery effects
+      And I click "Mention" button
+      And I expand the publisher in the modal window
+      And I append "I am eating a yogurt" to the publisher
+      And I press the aspect dropdown in the modal window
+      And I toggle the aspect "DidntPostTo" in the modal window
+      And I press "Share" in the modal window
+
+      When I am on the aspects page
+      And I follow "PostTo" within "#aspect_nav"
+      Then I should see "I am eating a yogurt"
+
+      When I am on the aspects page
+      And I follow "DidntPostTo" within "#aspect_nav"
+      Then I should not see "I am eating a yogurt"
diff --git a/features/posts.feature b/features/posts_from_main_page.feature
similarity index 73%
rename from features/posts.feature
rename to features/posts_from_main_page.feature
index 0cf1fda53d..7ae3298270 100644
--- a/features/posts.feature
+++ b/features/posts_from_main_page.feature
@@ -1,5 +1,5 @@
 @javascript
-Feature: posting
+Feature: posting from the main page
     In order to enlighten humanity for the good of society
     As a rock star
     I want to tell the world I am eating a yogurt
@@ -18,13 +18,44 @@ Feature: posting
 
       And I am on the home page
 
-    Scenario: post to all aspects
+    Scenario: post a text-only message to all aspects
       Given I expand the publisher
       When I fill in "status_message_fake_text" with "I am eating a yogurt"
       And I press "Share"
       And I follow "Your Aspects"
       Then I should see "I am eating a yogurt" within ".stream_element"
 
+    Scenario: post a text-only message to just one aspect
+      When I follow "PostTo"
+      And I wait for the ajax to finish
+      And I expand the publisher
+      And I fill in "status_message_fake_text" with "I am eating a yogurt"
+      And I press "Share"
+      And I wait for the ajax to finish
+
+      When I am on the aspects page
+      And I follow "PostTo" within "#aspect_nav"
+      Then I should see "I am eating a yogurt"
+
+      When I am on the aspects page
+      And I follow "DidntPostTo" within "#aspect_nav"
+      Then I should not see "I am eating a yogurt"
+
+    Scenario: post a photo with text
+      Given I expand the publisher
+      And I attach the file "spec/fixtures/button.png" to hidden element "file" within "#file-upload"
+      And I fill in "status_message_fake_text" with "Look at this dog"
+      And I press "Share"
+      And I wait for the ajax to finish
+      And I follow "Your Aspects"
+      Then I should see a "img" within ".stream_element div.photo_attachments"
+      And I should see "Look at this dog" within ".stream_element"
+      Then I log out
+      And I sign in as "alice@alice.alice"
+      And I go to "bob@bob.bob"'s page
+      Then I should see a "img" within ".stream_element div.photo_attachments"
+      And I should see "Look at this dog" within ".stream_element"
+
     Scenario: post a photo without text 
       Given I expand the publisher
       And I attach the file "spec/fixtures/button.png" to hidden element "file" within "#file-upload"
@@ -72,22 +103,7 @@ Feature: posting
       Then I should see an uploaded image within the photo drop zone
       And the publisher should be expanded
 
-    Scenario: post a photo with text
-      Given I expand the publisher
-      And I attach the file "spec/fixtures/button.png" to hidden element "file" within "#file-upload"
-      And I fill in "status_message_fake_text" with "Look at this dog"
-      And I press "Share"
-      And I wait for the ajax to finish
-      And I follow "Your Aspects"
-      Then I should see a "img" within ".stream_element div.photo_attachments"
-      And I should see "Look at this dog" within ".stream_element"
-      Then I log out
-      And I sign in as "alice@alice.alice"
-      And I go to "bob@bob.bob"'s page
-      Then I should see a "img" within ".stream_element div.photo_attachments"
-      And I should see "Look at this dog" within ".stream_element"
-
-    Scenario: hide a post
+    Scenario: hide a contact's post
       Given I expand the publisher
       When I fill in "status_message_fake_text" with "Here is a post for you to hide"
       And I press "Share"
@@ -106,64 +122,16 @@ Feature: posting
       And I am on the aspects page
       Then I should not see "Here is a post for you to hide"
 
-    Scenario: delete a post
-      Given I expand the publisher
-      When I fill in "status_message_fake_text" with "I am eating a yogurt"
+    Scenario: delete one of my posts
+      When I expand the publisher
+      And I fill in "status_message_fake_text" with "I am eating a yogurt"
       And I press "Share"
       And I wait for the ajax to finish
-      And I follow "Your Aspects"
+
+      When I follow "Your Aspects"
       And I hover over the ".stream_element"
       And I preemptively confirm the alert
       And I click to delete the first post
       And I wait for the ajax to finish
       And I follow "Your Aspects"
       Then I should not see "I am eating a yogurt"
-
-    Scenario Outline: post to one aspect
-      When I follow "PostTo"
-      And I wait for the ajax to finish
-      And I expand the publisher
-      And I fill in "status_message_fake_text" with "I am eating a yogurt"
-      And I press "Share"
-      And I am on the aspects page
-      And I follow "<aspect>" within "#aspect_nav"
-      Then I should <see> "I am eating a yogurt"
-
-      Examples:
-        | aspect      | see     |
-        | PostTo      | see     |
-        | DidntPostTo | not see |
-
-    Scenario Outline: posting to all aspects from the profile page
-      Given I am on "alice@alice.alice"'s page
-        And I have turned off jQuery effects
-        And I click "Mention" button
-        And I expand the publisher in the modal window
-        And I append "I am eating a yogurt" to the publisher
-        And I press "Share" in the modal window
-        And I am on the aspects page
-        And I follow "<aspect>" within "#aspect_nav"
-        Then I should <see> "I am eating a yogurt"
-
-        Examples:
-          | aspect      | see     |
-          | PostTo      | see     |
-          | DidntPostTo | see     |
-
-    Scenario Outline: posting to one aspect from the profile page
-      Given I am on "alice@alice.alice"'s page
-        And I have turned off jQuery effects
-        And I click "Mention" button
-        And I expand the publisher in the modal window
-        And I append "I am eating a yogurt" to the publisher
-        And I press the aspect dropdown in the modal window
-        And I toggle the aspect "DidntPostTo" in the modal window
-        And I press "Share" in the modal window
-        And I am on the aspects page
-        And I follow "<aspect>" within "#aspect_nav"
-        Then I should <see> "I am eating a yogurt"
-
-        Examples:
-          | aspect      | see     |
-          | PostTo      | see     |
-          | DidntPostTo | not see |
-- 
GitLab