102 lines
2.9 KiB
Ruby
102 lines
2.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
When /^I (?:like|unlike) the post "([^"]*)" in the stream$/ do |post_text|
|
|
like_stream_post(post_text)
|
|
end
|
|
|
|
Then /^the post "([^"]*)" should have the "([^"]*)" action available$/ do |post_text, action_text|
|
|
within_post(post_text) do
|
|
find(".feedback").should have_content(action_text)
|
|
end
|
|
end
|
|
|
|
Then /^the post "([^"]*)" shouldn't have any likes$/ do |post_text|
|
|
within_post(post_text) do
|
|
find(".likes").should have_no_css(".avatar", visible: true)
|
|
end
|
|
end
|
|
|
|
Then /^the post "([^"]*)" should have (\d+) like(?:s|)$/ do |post_text, likes_number|
|
|
within_post(post_text) do
|
|
find(".expand-likes").should have_content(likes_number)
|
|
end
|
|
end
|
|
|
|
Then /^the post "([^"]*)" should have a like from "([^"]*)"$/ do |post_text, username|
|
|
within_post(post_text) do
|
|
find(".expand-likes").click
|
|
find(".likes .avatar")["data-original-title"].should have_content(username)
|
|
find(".likes .entypo-heart").hover # unfocus avatar to get rid of tooltip
|
|
end
|
|
end
|
|
|
|
Then /^I should see an image in the publisher$/ do
|
|
photo_in_publisher.should be_present
|
|
end
|
|
|
|
Then /^"([^"]*)" should be post (\d+)$/ do |post_text, position|
|
|
stream_element_numbers_content(position).should have_content(post_text)
|
|
end
|
|
|
|
When /^I toggle nsfw posts$/ do
|
|
find(".toggle_nsfw_state", match: :first).click
|
|
end
|
|
|
|
When /^I toggle all nsfw posts$/ do
|
|
all("a.toggle_nsfw_state").each &:click
|
|
end
|
|
|
|
Then /^I should have (\d+) nsfw posts$/ do |num_posts|
|
|
page.should have_css(".nsfw-shield", count: num_posts.to_i)
|
|
end
|
|
|
|
When /^I prepare the deletion of the first post$/ do
|
|
find(".stream .stream-element", match: :first).hover
|
|
within(find(".stream .stream-element", match: :first)) do
|
|
ctrl = find(".control-icons")
|
|
ctrl.hover
|
|
ctrl.find(".remove_post").click
|
|
end
|
|
end
|
|
|
|
When /^I prepare hiding the first post$/ do
|
|
find(".stream .stream-element", match: :first).hover
|
|
within(find(".stream .stream-element", match: :first)) do
|
|
ctrl = find(".control-icons")
|
|
ctrl.hover
|
|
ctrl.find(".hide_post").click
|
|
end
|
|
end
|
|
|
|
When /^I click to delete the first post$/ do
|
|
accept_confirm do
|
|
step "I prepare the deletion of the first post"
|
|
end
|
|
expect(find(".stream")).to have_no_css(".stream-element.loaded.deleting")
|
|
end
|
|
|
|
When /^I click to hide the first post$/ do
|
|
accept_confirm do
|
|
step "I prepare hiding the first post"
|
|
end
|
|
end
|
|
|
|
When /^I click to delete the first comment$/ do
|
|
within("div.comment", match: :first) do
|
|
find(".comment_delete", visible: false).click
|
|
end
|
|
end
|
|
|
|
Then /^I should not see any posts in my stream$/ do
|
|
expect(page).not_to have_selector("#paginate .loader")
|
|
expect(page).not_to have_selector(".stream-element .media")
|
|
expect(page).to have_selector(".stream-element .no-posts-info")
|
|
end
|
|
|
|
Then /^I should not see any picture in my stream$/ do
|
|
expect(page).to have_selector(".photo_area img", count: 0)
|
|
end
|
|
|
|
Then /^I should see (\d+) pictures in my stream$/ do |count|
|
|
expect(page).to have_selector(".photo_area img", count: count)
|
|
end
|