diaspora/features/support/publishing_cuke_helpers.rb
Jonne Haß 79acc2c4cf This doesn't work altogether, fix it yourself [ci skip]
Revert "ensure that time is always far beyond last post creation"

This reverts commit 749b403d13.

Revert "make Timecop travel persistent for the whole run"

This reverts commit 5d9bdd80ab.

Revert "Timecop post creation for cucumber"

This reverts commit dba3dbbfeb.
2012-04-10 12:56:25 +02:00

102 lines
2.3 KiB
Ruby

module PublishingCukeHelpers
def make_post(text)
fill_in 'status_message_fake_text', :with => text
click_button :submit
wait_for_ajax_to_finish
end
def click_and_post(text)
click_publisher
make_post(text)
end
def click_publisher
page.execute_script('
$("#publisher").removeClass("closed");
$("#publisher").find("textarea").focus();
')
end
def expand_first_post
find(".stream_element:first .expander").click
wait_until{ !find(".expander").visible? }
end
def first_post_collapsed?
find(".stream_element:first .collapsible").should have_css(".expander")
find(".stream_element:first .collapsible").has_selector?(".collapsed")
end
def first_post_expanded?
find(".stream_element:first .expander").should_not be_visible
find(".stream_element:first .collapsible").has_no_selector?(".collapsed")
find(".stream_element:first .collapsible").has_selector?(".opened")
end
def first_post_text
stream_element_numbers_content(1).text()
end
def stream_element_numbers_content(position)
find(".stream_element:nth-child(#{position}) .post-content")
end
def find_post_by_text(text)
find(".stream_element:contains('#{text}')")
end
def like_post(post_text)
within_post(post_text) do
click_link 'Like'
end
wait_for_ajax_to_finish
end
def within_post(post_text)
within find_post_by_text(post_text) do
yield
end
end
def stream_posts
all('.stream_element')
end
def comment_on_post(post_text, comment_text)
within_post(post_text) do
focus_comment_box
make_comment(comment_text)
end
wait_for_ajax_to_finish
end
def comment_on_show_page(comment_text)
within("#post-interactions") do
focus_comment_box(".label.comment")
make_comment(comment_text, "new-comment-text")
end
wait_for_ajax_to_finish
end
def make_comment(text, elem="text")
fill_in elem, :with => text
click_button :submit
end
def focus_comment_box(elem="a.focus_comment_textarea")
find(elem).click
end
def wait_for_ajax_to_finish(wait_time=15)
wait_until(wait_time) do
evaluate_script("$.active") == 0
end
end
def assert_nsfw(text)
post = find_post_by_text(text)
post.find(".nsfw-shield").should be_present
end
end
World(PublishingCukeHelpers)