ensl.org/spec/features/gathers/gathers_shoutbox.rb
2020-04-18 08:04:23 +03:00

37 lines
No EOL
1.1 KiB
Ruby

require 'rails_helper'
feature 'Gathers', js: true do
let!(:user) { create :user }
let!(:gather) { create :gather, :running }
feature 'Shoutbox' do
background do
sign_in_as user
end
scenario 'create shout' do
visit gather_path(gather)
shout = rand(100000).to_s
fill_in "shout_Gather_#{gather.id}_text", with: shout
click_button 'Shout!'
expect(page).to have_content(shout)
end
scenario 'enter more than 100 characters' do
valid_shout = 100.times.map { "a" }.join
invalid_shout = 101.times.map { "a" }.join
visit gather_path(gather)
expect(page).to_not have_content("Maximum shout length exceeded")
fill_in "shout_Gather_#{gather.id}_text", with: invalid_shout
expect(page).to have_content("Maximum shout length exceeded")
fill_in "shout_Gather_#{gather.id}_text", with: valid_shout
expect(page).to_not have_content("Maximum shout length exceeded")
end
scenario 'creating shout while banned' do
Ban.create! ban_type: Ban::TYPE_MUTE, expiry: Time.now + 10.days, user_name: user.username
visit root_path
expect(find("#sidebar")).to have_content "You have been muted."
end
end
end