1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe 'User history', authenticated_as: :authenticate, time_zone: 'Europe/London', type: :system do
- let(:group) { Group.find_by(name: 'Users') }
- let(:customer) { create(:customer, organization: organization) }
- let(:locale) { 'de-de' }
- let(:session_user) { create(:admin, preferences: { locale: locale }) }
- let(:organization) { create(:organization) }
- let(:org_name_1) { 'organization test 1' }
- let(:org_name_2) { 'organization test 2' }
- let(:org_1) { create(:organization, name: org_name_1) }
- let(:org_2) { create(:organization, name: org_name_2) }
- def authenticate
- freeze_time
- travel_to Time.zone.parse('2021-01-22 13:40:00')
- current_time = Time.current
- customer.update!(
- firstname: 'Customer',
- email: 'test@example.com',
- country: 'Germany',
- out_of_office_start_at: current_time,
- last_login: current_time,
- organizations: [organization, org_1, org_2]
- )
- travel_to Time.zone.parse('2021-04-06 23:30:00')
- current_time = Time.current
- customer.update!(
- lastname: 'Example',
- mobile: '5757473827',
- out_of_office_end_at: current_time,
- last_login: current_time,
- organizations: [organization, org_1]
- )
- travel_back
- session_user
- end
- before do
- visit '/' if locale != 'en'
- # Suppress the modal dialog that invites to contributions for translations that are < 90% as this breaks the tests for de-de.
- page.evaluate_script "App.LocalStorage.set('translation_support_no', true, App.Session.get('id'))" if locale != 'en'
- visit "#user/profile/#{customer.id}"
- find_by_id('userAction').click
- click('[data-type="history"]')
- end
- it "translates timestamp when attribute's tag is datetime" do
- expect(page).to have_css('li', text: %r{'22.01.2021 00:00'})
- end
- it 'does not include time with UTC format' do
- expect(page).to have_no_text(%r{ UTC})
- end
- it 'translates out_of_office_start_at value to time stamp' do
- expect(page).to have_css('li', text: %r{Benutzer out_of_office_start_at '22.01.2021 00:00'})
- end
- it 'translates out_of_office_end_at value to time stamp' do
- expect(page).to have_css('li', text: %r{Benutzer out_of_office_end_at '06.04.2021 01:00'})
- end
- context 'when language is in english' do
- let(:locale) { 'en' }
- it 'shows added and removed secondary organizations' do
- in_modal do
- expect(page).to have_css('li', text: %r{added User Secondary organizations 'organization test 1'})
- expect(page).to have_css('li', text: %r{removed User Secondary organizations 'organization test 2'})
- end
- end
- end
- end
|