calendars_spec.rb 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
  2. require 'rails_helper'
  3. RSpec.describe 'Manage > Calendars', type: :system do
  4. context 'Date' do
  5. let(:calendar_title) { "test calendar #{rand(999_999_999)}" }
  6. it 'show festivity dates correctly far away from UTC', time_zone: 'America/Sao_Paulo' do
  7. visit '/#manage/calendars'
  8. click '.js-new'
  9. modal_ready
  10. within '.modal-dialog' do
  11. fill_in 'name', with: calendar_title
  12. click '.dropdown-toggle'
  13. click '.dropdown-menu [data-value="America/Sao_Paulo"]'
  14. find('.ical_feed select').select 'Brazil'
  15. click '.js-submit'
  16. end
  17. modal_disappear
  18. within :active_content do
  19. within '.action', text: calendar_title do
  20. find('.js-edit').click
  21. end
  22. end
  23. wait(5).until_exists { find('.holiday_selector tr:nth-child(30)', wait: 0) }
  24. within '.modal-dialog' do
  25. row = first('.holiday_selector tr') do |elem|
  26. elem.find('input.js-summary').value.starts_with?('Christmas Eve')
  27. rescue
  28. false
  29. end
  30. expect(row).to have_text('24').and have_text('12')
  31. end
  32. end
  33. end
  34. # https://github.com/zammad/zammad/issues/2528
  35. context 'ical feed - subscribe to public holidays in another country' do
  36. it 'shows countries dropdown in sorted order' do
  37. allow(Calendar).to receive(:ical_feeds).and_return({
  38. 'https://argentinien.de': 'Argentinien',
  39. 'https://australien.de': 'Australien',
  40. 'https://osterreich.de': 'Österreich',
  41. 'https://weibrussland.de': 'Weißrussland',
  42. 'https://kanada.de': 'Kanada',
  43. 'https://chile.de': 'Chile',
  44. })
  45. visit '/#manage/calendars'
  46. click '.js-new'
  47. in_modal disappears: false do
  48. expect(all('.ical_feed select option').map(&:text)).to eq ['-', 'Argentinien', 'Australien', 'Chile', 'Kanada', 'Österreich', 'Weißrussland']
  49. end
  50. end
  51. end
  52. end