123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe 'First Steps', type: :system do
- let(:agent) { "bob.smith_#{SecureRandom.uuid}" }
- let(:customer) { "customer.smith_#{SecureRandom.uuid}" }
- before do
- visit 'dashboard'
- within :active_content do
- click '.tab[data-area="first-steps-widgets"]'
- end
- end
- it 'show first steps configuration page' do
- within :active_content do
- expect(page).to have_text 'Configuration'
- end
- end
- it 'invites agent (with more than one group)' do
- within(:active_content) { click '.js-inviteAgent' }
- target_group = Group.last
- in_modal do
- fill_in 'firstname', with: 'Bob'
- fill_in 'lastname', with: 'Smith'
- fill_in 'email', with: "#{agent}@example.com"
- click 'span', text: 'Agent'
- within '.js-groupListNewItemRow' do
- click '.js-input'
- click 'li', text: target_group.name
- click 'input[value="full"]', visible: :all
- click '.js-add'
- end
- click('button')
- end
- expect(page).to have_no_text 'Sending'
- expect(User.last).to have_attributes(firstname: 'Bob', lastname: 'Smith', group_ids: [target_group.id])
- end
- it 'invites customer' do
- within(:active_content) { click '.js-inviteCustomer' }
- in_modal do
- fill_in 'firstname', with: 'Client'
- fill_in 'lastname', with: 'Smith'
- fill_in 'email', with: "#{customer}@example.com"
- click('button')
- end
- wait.until { User.last.firstname == 'Client' }
- expect(User.last).to have_attributes(firstname: 'Client', lastname: 'Smith')
- expect(page).to have_no_text 'Sending'
- end
- it 'creates test ticket', sessions_jobs: true do
- initial_ticket_count = Ticket.count
- within(:active_content) { click '.js-testTicket' }
- within '.sidebar .js-activityContent' do
- wait.until { Ticket.count == (initial_ticket_count + 1) }
- expect(page).to have_text 'Nicole Braun created article for Test Ticket!'
- end
- end
- it 'updates online form channel' do
- Setting.set('form_ticket_create', true)
- page.refresh
- within :active_content do
- click '.tab[data-area="first-steps-widgets"]'
- end
- expect(page).to have_link(href: '#channels/form', class: %w[todo is-done])
- end
- end
|