message_spec.rb 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. require 'rails_helper'
  2. RSpec.describe 'Login Message', type: :system, authenticated_as: false do
  3. context 'with maintenance_login_message' do
  4. let(:message) { "badum tssss #{rand(99_999)}" }
  5. let(:alt_message) { 'lorem ipsum' }
  6. before { Setting.set 'maintenance_login_message', message }
  7. context 'with maintenance_login' do
  8. before { Setting.set 'maintenance_login', true }
  9. it 'shows message' do
  10. open_login_page
  11. expect(page).to have_css('.js-maintenanceLogin', text: message)
  12. end
  13. it 'hides message on the go' do
  14. open_login_page
  15. Setting.set 'maintenance_login', false
  16. expect(page).to have_no_css('.js-maintenanceLogin', text: message)
  17. end
  18. it 'changes message text on the go' do
  19. open_login_page
  20. Setting.set 'maintenance_login_message', alt_message
  21. expect(page).to have_css('.js-maintenanceLogin', text: alt_message)
  22. end
  23. end
  24. context 'without maintenance_login' do
  25. before { Setting.set 'maintenance_login', false }
  26. it 'does not show message' do
  27. open_login_page
  28. expect(page).to have_no_text(message)
  29. end
  30. it 'shows message on the go' do
  31. open_login_page
  32. Setting.set 'maintenance_login', true
  33. expect(page).to have_css('.js-maintenanceLogin', text: message)
  34. end
  35. end
  36. end
  37. def open_login_page
  38. visit '/'
  39. ensure_websocket
  40. end
  41. end