Cut 45 seconds out of the comments feature by using factories
This commit is contained in:
parent
7baeaebe57
commit
290fb1e7f5
4 changed files with 26 additions and 12 deletions
|
|
@ -6,7 +6,6 @@ rvm:
|
||||||
before_script:
|
before_script:
|
||||||
- "sass --update public/stylesheets/sass/:public/stylesheets/"
|
- "sass --update public/stylesheets/sass/:public/stylesheets/"
|
||||||
- "cp config/database.yml.example config/database.yml"
|
- "cp config/database.yml.example config/database.yml"
|
||||||
- "rm .rspec"
|
|
||||||
- "rake db:create"
|
- "rake db:create"
|
||||||
- "rake db:schema:load"
|
- "rake db:schema:load"
|
||||||
- "rspec spec --tag fixture"
|
- "rspec spec --tag fixture"
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,7 @@ Feature: commenting
|
||||||
Given a user named "Bob Jones" with email "bob@bob.bob"
|
Given a user named "Bob Jones" with email "bob@bob.bob"
|
||||||
And a user named "Alice Smith" with email "alice@alice.alice"
|
And a user named "Alice Smith" with email "alice@alice.alice"
|
||||||
And a user with email "bob@bob.bob" is connected with "alice@alice.alice"
|
And a user with email "bob@bob.bob" is connected with "alice@alice.alice"
|
||||||
When I sign in as "alice@alice.alice"
|
When "alice@alice.alice" has posted a status message with a photo
|
||||||
And I am on the home page
|
|
||||||
And 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 "Look at this dog" within ".stream_element"
|
|
||||||
And I should see a "img" within ".stream_element div.photo_attachments"
|
|
||||||
Then I log out
|
|
||||||
|
|
||||||
Scenario: comment on a post from within a user's stream
|
Scenario: comment on a post from within a user's stream
|
||||||
When I sign in as "bob@bob.bob"
|
When I sign in as "bob@bob.bob"
|
||||||
|
|
|
||||||
|
|
@ -152,3 +152,12 @@ And /^I follow the "([^\"]*)" link from the Devise.mailer$/ do |link_text|
|
||||||
path = link.attributes["href"].value
|
path = link.attributes["href"].value
|
||||||
visit URI::parse(path).request_uri
|
visit URI::parse(path).request_uri
|
||||||
end
|
end
|
||||||
|
|
||||||
|
When /^"([^\"]+)" has posted a status message with a photo$/ do |email|
|
||||||
|
user = User.find_for_database_authentication(:username => email)
|
||||||
|
post = Factory(:status_message_with_photo, :text => "Look at this dog", :author => user.person)
|
||||||
|
[post, post.photos.first].each do |p|
|
||||||
|
user.add_to_streams(p, user.aspects)
|
||||||
|
user.dispatch_post(p)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,22 @@ Factory.define(:status_message) do |m|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Factory.define(:status_message_with_photo, :parent => :status_message) do |m|
|
||||||
|
m.sequence(:text) { |n| "There are #{n} ninjas in this photo." }
|
||||||
|
m.after_build do |m|
|
||||||
|
p = Factory(:photo, :author => m.author, :status_message => m, :pending => false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Factory.define(:photo) do |p|
|
||||||
|
p.sequence(:random_string) {|n| ActiveSupport::SecureRandom.hex(10) }
|
||||||
|
p.after_build do |p|
|
||||||
|
p.unprocessed_image.store! File.open(File.join(File.dirname(__FILE__), 'fixtures', 'button.png'))
|
||||||
|
p.process
|
||||||
|
p.update_remote_path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
Factory.define :service do |service|
|
Factory.define :service do |service|
|
||||||
service.nickname "sirrobertking"
|
service.nickname "sirrobertking"
|
||||||
service.type "Services::Twitter"
|
service.type "Services::Twitter"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue