123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- require 'rails_helper'
- RSpec.describe 'Mail accounts', type: :system do
- def perform_check
- # getting started - auto mail
- visit 'getting_started/channel'
- click('.js-channel .btn.email')
- yield
- # wait for verification process to finish
- expect(page).to have_css('.js-agent h2', text: 'Invite Colleagues', wait: 4.minutes)
- expect_current_route 'getting_started/agents'
- end
- def fill_in_credentials(account)
- within('.js-intro') do
- fill_in 'realname', with: account[:realname]
- fill_in 'email', with: account[:email]
- fill_in 'password', with: account[:password]
- click_on('Connect')
- end
- end
- scenario 'Auto detectable configurations' do
- skip('NOTICE: This test is currently disabled because of collisions with other non Capybara browser tests')
- accounts = (1..10).each_with_object([]) do |count, result|
- next if !ENV["MAILBOX_AUTO#{count}"]
- email, password = ENV["MAILBOX_AUTO#{count}"].split(':')
- result.push(
- realname: 'auto account',
- email: email,
- password: password,
- )
- end
- if accounts.blank?
- skip("NOTICE: Need min. MAILBOX_AUTO1 as ENV variable like export MAILBOX_AUTO1='nicole.braun2015@gmail.com:somepass'")
- end
- accounts.each do |account|
- perform_check do
- fill_in_credentials(account)
- end
- end
- end
- scenario 'Manual configurations' do
- accounts = (1..10).each_with_object([]) do |count, result|
- next if !ENV["MAILBOX_MANUAL#{count}"]
- email, password, inbound, outbound = ENV["MAILBOX_MANUAL#{count}"].split(':')
- result.push(
- realname: 'manual account',
- email: email,
- password: password,
- inbound: {
- 'options::host' => inbound,
- },
- outbound: {
- 'options::host' => outbound,
- },
- )
- end
- if accounts.blank?
- skip("NOTICE: Need min. MAILBOX_MANUAL1 as ENV variable like export MAILBOX_MANUAL1='nicole.bauer2015@yahoo.de:somepass:imap.mail.yahoo.com:smtp.mail.yahoo.com'")
- end
- accounts.each do |account|
- perform_check do
- fill_in_credentials(account)
- within('.js-inbound') do
- expect(page).to have_css('h2', text: 'inbound', wait: 4.minutes)
- expect(page).to have_css('body', text: 'manual')
- fill_in 'options::host', with: account[:inbound]['options::host']
- click_on('Connect')
- end
- within('.js-outbound') do
- expect(page).to have_css('h2', text: 'outbound', wait: 4.minutes)
- select('SMTP - configure your own outgoing SMTP settings', from: 'adapter')
- fill_in 'options::host', with: account[:outbound]['options::host']
- click_on('Connect')
- end
- end
- end
- end
- end
|