|
@@ -1,224 +0,0 @@
|
|
|
-# Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
|
|
|
-
|
|
|
-require 'browser_test_helper'
|
|
|
-
|
|
|
-class AaaGettingStartedTest < TestCase
|
|
|
- def test_a_getting_started
|
|
|
- if !ENV['MAIL_ADDRESS'] || !ENV['MAIL_PASS']
|
|
|
- puts 'NOTICE: Need MAIL_ADDRESS and MAIL_PASS as ENV variables.'
|
|
|
- return
|
|
|
- end
|
|
|
- mailbox_user = ENV['MAIL_ADDRESS']
|
|
|
- mailbox_password = ENV['MAIL_PASS']
|
|
|
-
|
|
|
- @browser = browser_instance
|
|
|
- location(url: browser_url)
|
|
|
- watch_for(
|
|
|
- css: '.setup.wizard',
|
|
|
- value: 'Set up a new system',
|
|
|
- )
|
|
|
- click(css: '.js-start .btn--primary')
|
|
|
- watch_for(
|
|
|
- css: '.setup.wizard',
|
|
|
- value: 'admin',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-admin input[name="firstname"]',
|
|
|
- value: 'Test Admin',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-admin input[name="lastname"]',
|
|
|
- value: 'Agent',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-admin input[name="email"]',
|
|
|
- value: 'admin@example.com',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-admin input[name="password"]',
|
|
|
- value: 'TEst1234äöüß',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-admin input[name="password_confirm"]',
|
|
|
- value: 'TEst1234äöüß',
|
|
|
- )
|
|
|
- click(css: '.js-admin .btn--success')
|
|
|
-
|
|
|
- # getting started - base
|
|
|
- watch_for(
|
|
|
- css: '.js-base h2',
|
|
|
- value: 'Organization',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-base input[name="organization"]',
|
|
|
- value: 'Some Organization',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-base input[name="url"]',
|
|
|
- value: 'some host',
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-base .btn--primary',
|
|
|
- )
|
|
|
- watch_for(
|
|
|
- css: 'body',
|
|
|
- value: 'A URL looks like this',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-base input[name="url"]',
|
|
|
- value: browser_url.sub(%r{(:\d+)$}, ''), # drop port part
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-base .btn--primary',
|
|
|
- )
|
|
|
-
|
|
|
- # getting started - email notification
|
|
|
- watch_for(
|
|
|
- css: '.js-outbound h2',
|
|
|
- value: 'Email Notification',
|
|
|
- )
|
|
|
- location_check(
|
|
|
- url: '#getting_started/email_notification',
|
|
|
- )
|
|
|
-
|
|
|
- select(
|
|
|
- css: '.js-outbound select[name="adapter"]',
|
|
|
- value: 'SMTP - configure your own outgoing SMTP settings',
|
|
|
- )
|
|
|
-
|
|
|
- # uses zammad-imap docker container
|
|
|
- set(
|
|
|
- css: '.js-outbound input[name="options::host"]',
|
|
|
- value: 'mail',
|
|
|
- )
|
|
|
-
|
|
|
- set(
|
|
|
- css: '.js-outbound input[name="options::user"]',
|
|
|
- value: mailbox_user,
|
|
|
- )
|
|
|
-
|
|
|
- set(
|
|
|
- css: '.js-outbound input[name="options::password"]',
|
|
|
- value: mailbox_password,
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-outbound .btn--primary',
|
|
|
- )
|
|
|
-
|
|
|
- # getting started - create email account
|
|
|
- watch_for(
|
|
|
- css: '.js-channel h2',
|
|
|
- value: 'Connect Channels',
|
|
|
- )
|
|
|
- location_check(
|
|
|
- url: '#getting_started/channel',
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-channel .email .provider_name',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-intro input[name="realname"]',
|
|
|
- value: 'Some Realname',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-intro input[name="email"]',
|
|
|
- value: mailbox_user,
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-intro input[name="password"]',
|
|
|
- value: mailbox_password,
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-intro .btn--primary',
|
|
|
- )
|
|
|
- watch_for(
|
|
|
- css: 'body',
|
|
|
- value: 'verify',
|
|
|
- timeout: 20,
|
|
|
- )
|
|
|
- watch_for(
|
|
|
- css: 'body',
|
|
|
- value: 'invite',
|
|
|
- timeout: 100,
|
|
|
- )
|
|
|
-
|
|
|
- # invite agent1
|
|
|
- location_check(
|
|
|
- url: '#getting_started/agents',
|
|
|
- )
|
|
|
- watch_for(
|
|
|
- css: '.js-agent input[name="firstname"]',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-agent input[name="firstname"]',
|
|
|
- value: 'Agent 1',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-agent input[name="lastname"]',
|
|
|
- value: 'Test',
|
|
|
- )
|
|
|
- set(
|
|
|
- css: '.js-agent input[name="email"]',
|
|
|
- value: 'agent1@example.com',
|
|
|
- )
|
|
|
- # not needed since we hide group selections if only one group exists
|
|
|
- # click(
|
|
|
- # css: '.js-agent input[name="group_ids"][value="1"]',
|
|
|
- # )
|
|
|
- check(css: '.js-agent .js-groupListItem[value=full]')
|
|
|
- watch_for(
|
|
|
- css: '.js-agent .js-groupListItem[value=full]:checked',
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-agent .btn--success',
|
|
|
- )
|
|
|
- watch_for(
|
|
|
- css: '#notify',
|
|
|
- value: 'Invitation sent',
|
|
|
- )
|
|
|
- location_check(
|
|
|
- url: '#getting_started/agents',
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.js-agent .btn--primary',
|
|
|
- )
|
|
|
- watch_for(
|
|
|
- css: 'body',
|
|
|
- value: 'My Stats',
|
|
|
- )
|
|
|
- location_check(
|
|
|
- url: '#clues',
|
|
|
- )
|
|
|
-
|
|
|
- clues_close(
|
|
|
- optional: false,
|
|
|
- )
|
|
|
-
|
|
|
- # verify organization and fqdn
|
|
|
- click(
|
|
|
- css: 'a[href="#manage"]',
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.content.active a[href="#settings/branding"]',
|
|
|
- )
|
|
|
-
|
|
|
- match(
|
|
|
- css: '.content.active input[name="organization"]',
|
|
|
- value: 'Some Organization',
|
|
|
- )
|
|
|
- click(
|
|
|
- css: '.content.active a[href="#settings/system"]',
|
|
|
- )
|
|
|
-
|
|
|
- fqdn = nil
|
|
|
- if browser_url =~ %r{://(.+?)(:.+?|/.+?|)$}
|
|
|
- fqdn = $1
|
|
|
- end
|
|
|
- raise "Unable to get fqdn based on #{browser_url}" if !fqdn
|
|
|
-
|
|
|
- match(
|
|
|
- css: '.content.active input[name="fqdn"]',
|
|
|
- value: fqdn,
|
|
|
- )
|
|
|
- end
|
|
|
-end
|