2021-06-01 12:20:20 +00:00
|
|
|
# Copyright (C) 2012-2021 Zammad Foundation, http://zammad-foundation.org/
|
|
|
|
|
2020-02-20 12:15:03 +00:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
RSpec.describe 'Manage > Channels > Email', type: :system do
|
|
|
|
|
|
|
|
context 'non editable' do
|
|
|
|
|
|
|
|
it 'hides "Edit" links' do
|
|
|
|
# ensure that the only existing email channel
|
|
|
|
# has preferences == { editable: false }
|
|
|
|
Channel.destroy_all
|
|
|
|
create(:email_channel, preferences: { editable: false })
|
|
|
|
|
|
|
|
visit '/#channels/email'
|
|
|
|
|
|
|
|
# verify page has loaded
|
|
|
|
expect(page).to have_css('#c-account h3', text: 'Inbound')
|
|
|
|
expect(page).to have_css('#c-account h3', text: 'Outbound')
|
|
|
|
|
2020-08-26 12:31:33 +00:00
|
|
|
expect(page).to have_no_css('.js-editInbound, .js-editOutbound', text: 'Edit')
|
2020-02-20 12:15:03 +00:00
|
|
|
end
|
|
|
|
end
|
2021-09-13 08:30:28 +00:00
|
|
|
|
|
|
|
context 'when adding an email' do
|
|
|
|
before do
|
|
|
|
visit '#channels/email'
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'one can switch between default and expert forms' do
|
|
|
|
click '.js-channelNew'
|
|
|
|
in_modal do
|
|
|
|
click '.js-expert'
|
|
|
|
expect(page).to have_text 'ORGANIZATION & DEPARTMENT NAME'
|
|
|
|
expect(page).to have_text 'SSL/STARTTLS'
|
|
|
|
expect(page).to have_text 'PORT'
|
|
|
|
click '.js-close'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'in the expert form, the port for SSL/NoSSL is set automatically only when it is default' do
|
|
|
|
click '.js-channelNew'
|
|
|
|
in_modal do
|
|
|
|
click '.js-expert'
|
|
|
|
expect(find('input[name="options::port"]').value).to eq('993')
|
|
|
|
field = find('select[name="options::ssl"]')
|
|
|
|
option_yes = field.find(:option, 'yes')
|
|
|
|
option_no = field.find(:option, 'no')
|
|
|
|
option_no.select_option
|
|
|
|
expect(find('input[name="options::port"]').value).to eq('143')
|
|
|
|
option_yes.select_option
|
|
|
|
expect(find('input[name="options::port"]').value).to eq('993')
|
|
|
|
option_no.select_option
|
|
|
|
expect(find('input[name="options::port"]').value).to eq('143')
|
|
|
|
port = '4242'
|
|
|
|
fill_in 'options::port', with: port
|
|
|
|
expect(find('input[name="options::port"]').value).to eq(port)
|
|
|
|
option_yes.select_option
|
|
|
|
expect(find('input[name="options::port"]').value).to eq(port)
|
|
|
|
click '.js-close'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'entered values on the default form are copied to the expert form' do
|
|
|
|
click '.js-channelNew'
|
|
|
|
in_modal do
|
|
|
|
name = 'Area53'
|
|
|
|
email = 'dont@ask.com'
|
|
|
|
password = 'f34therRa!nSplash'
|
|
|
|
fill_in 'realname', with: name
|
|
|
|
fill_in 'email', with: email
|
|
|
|
fill_in 'password', with: password
|
|
|
|
click '.js-expert'
|
|
|
|
expect(find('input[name="options::realname"]').value).to eq(name)
|
|
|
|
expect(find('input[name="options::email"]').value).to eq(email)
|
|
|
|
expect(find('input[name="options::user"]').value).to eq(email)
|
|
|
|
expect(find('input[name="options::password"]').value).to eq(password)
|
|
|
|
click '.js-close'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when editing inbound email settings' do
|
|
|
|
it 'the expert form fields are not shown' do
|
|
|
|
visit '#channels/email'
|
|
|
|
click '.js-channelEnable'
|
|
|
|
click '.js-editInbound'
|
|
|
|
in_modal do
|
|
|
|
expect(page).to have_no_text 'ORGANIZATION & DEPARTMENT NAME'
|
|
|
|
expect(page).to have_no_text 'ORGANIZATION SUPPORT'
|
|
|
|
expect(page).to have_no_text 'EMAIL'
|
|
|
|
click '.js-close'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2020-02-20 12:15:03 +00:00
|
|
|
end
|