1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe 'Mobile > Ticket > Update Customer', app: :mobile, authenticated_as: :agent, type: :system do
- let(:group) { create(:group) }
- let(:agent) { create(:agent, groups: [group]) }
- let(:ticket) { create(:ticket, group: group) }
- before do
- visit "/tickets/#{ticket.id}"
- click_on 'Show ticket actions'
- click_on 'Change customer'
- end
- context 'with a single-organization customer' do
- let(:organization) { create(:organization) }
- let(:customer) { create(:customer, organization: organization) }
- it 'allows selecting customer' do
- find_autocomplete('Customer').search_for_option(customer.email, label: customer.fullname)
- click_on 'Save'
- wait.until do
- ticket.reload.customer == customer && ticket.organization = organization
- end
- end
- end
- context 'with a multi-organization customer' do
- let(:organization) { create(:organization) }
- let(:secondary_orgs) { create_list(:organization, 2) }
- let(:customer) { create(:customer, organization: organization, organizations: secondary_orgs) }
- it 'allows selecting customer' do
- find_autocomplete('Customer').search_for_option(customer.email, label: customer.fullname)
- find_autocomplete('Organization').search_for_option(secondary_orgs.last.name)
- click_on 'Save'
- wait.until do
- ticket.reload.customer == customer && ticket.organization == secondary_orgs.last
- end
- end
- end
- end
|