ensl.org/spec/features/shoutbox/shoutbox_spec.rb

35 lines
1 KiB
Ruby
Raw Normal View History

2019-10-17 18:29:15 +00:00
require 'rails_helper'
2015-11-08 09:41:11 +00:00
feature "Shoutbox", js: true do
let!(:user) { create :user }
2015-11-08 09:41:11 +00:00
background do
sign_in_as user
end
2015-11-08 09:41:11 +00:00
scenario "creating a valid shout" do
visit root_path
shout = rand(100_000).to_s
fill_in "shoutbox_text", with: shout
click_button "Shout!"
expect(page).to have_content(shout)
end
2015-11-08 09:41:11 +00:00
scenario "enter more than 100 characters" do
valid_shout = 100.times.map { "a" }.join
invalid_shout = 101.times.map { "a" }.join
visit root_path
expect(page).to_not have_content("Maximum shout length exceeded")
fill_in "shoutbox_text", with: invalid_shout
expect(page).to have_content("Maximum shout length exceeded")
fill_in "shoutbox_text", with: valid_shout
expect(page).to_not have_content("Maximum shout length exceeded")
end
2015-11-08 09:41:11 +00:00
scenario "creating shout while banned" do
Ban.create! ban_type: Ban::TYPE_MUTE, expiry: Time.now.utc + 10.days, user_name: user.username
visit root_path
expect(find("#sidebar")).to have_content "You have been muted."
end
end