forked from StateVoicesNational/Spoke
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Revert "Moveon main plus reassign all plus message review opt…
…out plus set message validity"" This reverts commit 74938ff.
- Loading branch information
Showing
74 changed files
with
1,633 additions
and
620 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,143 @@ | ||
import { selenium } from './util/helpers' | ||
import STRINGS from './data/strings' | ||
import { login, invite, campaigns, people } from './page-functions/index' | ||
import { campaigns, login, main, people, texter } from './page-functions/index' | ||
|
||
// Instantiate browser(s) | ||
const driver = selenium.buildDriver() | ||
const driverTexter = selenium.buildDriver() | ||
jasmine.getEnv().addReporter(selenium.reporter) | ||
|
||
describe('Basic Text Manager Workflow', () => { | ||
// Instantiate browser(s) | ||
const driverAdmin = selenium.buildDriver({ name: 'Spoke E2E Tests - Chrome - Basic Text Manager Workflow - Admin' }) | ||
const driverTexter = selenium.buildDriver({ name: 'Spoke E2E Tests - Chrome - Basic Text Manager Workflow - Texter' }) | ||
|
||
describe('Basic text manager workflow', () => { | ||
const CAMPAIGN = STRINGS.campaigns.existingTexter | ||
beforeAll(() => { | ||
global.e2e = {} | ||
}) | ||
|
||
/** | ||
* Test Suite Sequence: | ||
* Setup Admin and Texter Users | ||
* Create Campaign (No Existing Texter) | ||
* Create Campaign (Existing Texter) | ||
* Create Campaign (No Existing Texter with Opt-Out) | ||
* Create Campaign (Existing Texter with Opt-Out) | ||
*/ | ||
|
||
afterAll(async () => { | ||
await selenium.quitDriver(driver) | ||
await selenium.quitDriver(driverAdmin) | ||
await selenium.quitDriver(driverTexter) | ||
}) | ||
|
||
describe('(As Admin) Open Landing Page', () => { | ||
login.landing(driver) | ||
}) | ||
describe('Setup Admin User', () => { | ||
describe('(As Admin) Open Landing Page', () => { | ||
login.landing(driverAdmin) | ||
}) | ||
|
||
describe('(As Admin) Log In an admin to Spoke', () => { | ||
login.tryLoginThenSignUp(driverAdmin, STRINGS.users.admin0) | ||
}) | ||
|
||
describe('(As Admin) Log In an admin to Spoke', () => { | ||
login.tryLoginThenSignUp(driver, CAMPAIGN.admin) | ||
describe('(As Admin) Create a New Organization / Team', () => { | ||
main.createOrg(driverAdmin, STRINGS.org) | ||
}) | ||
}) | ||
|
||
describe('(As Admin) Create a New Organization / Team', () => { | ||
invite.createOrg(driver, STRINGS.org) | ||
describe('Create Campaign (No Existing Texter)', () => { | ||
const CAMPAIGN = STRINGS.campaigns.noExistingTexter | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) Follow the Invite URL', () => { | ||
texter.viewInvite(driverTexter) | ||
login.tryLoginThenSignUp(driverTexter, CAMPAIGN.texter) | ||
}) | ||
|
||
describe('(As Texter) Verify Todos', () => { | ||
texter.viewSendFirstTexts(driverTexter) | ||
}) | ||
|
||
describe('(As Texter) Log Out', () => { | ||
main.logOutUser(driverTexter) | ||
}) | ||
}) | ||
|
||
describe('(As Admin) Invite a new User', () => { | ||
people.invite(driver) | ||
describe('Create Campaign (Existing Texter)', () => { | ||
const CAMPAIGN = STRINGS.campaigns.existingTexter | ||
|
||
describe('(As Admin) Invite a new Texter', () => { | ||
people.invite(driverAdmin) | ||
}) | ||
|
||
describe('(As Texter) Follow the Invite URL', () => { | ||
texter.viewInvite(driverTexter) | ||
login.tryLoginThenSignUp(driverTexter, CAMPAIGN.texter) | ||
}) | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) Send Texts', () => { | ||
texter.sendTexts(driverTexter, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Admin) Send Replies', () => { | ||
campaigns.sendReplies(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) View Replies', () => { | ||
texter.viewReplies(driverTexter, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) Opt Out Contact', () => { | ||
texter.optOutContact(driverTexter) | ||
}) | ||
|
||
describe('(As Texter) Log Out', () => { | ||
main.logOutUser(driverTexter) | ||
}) | ||
}) | ||
|
||
describe('(As Texter) Follow the Invite URL', () => { | ||
describe('should follow the link to the invite', async () => { | ||
it('should follow the link to the invite', async () => { | ||
await driverTexter.get(global.e2e.joinUrl) | ||
}) | ||
describe('Create Campaign (No Existing Texter with Opt-Out)', () => { | ||
const CAMPAIGN = STRINGS.campaigns.noExistingTexterOptOut | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) Follow the Invite URL', () => { | ||
texter.viewInvite(driverTexter) | ||
login.tryLoginThenSignUp(driverTexter, CAMPAIGN.texter) | ||
}) | ||
|
||
describe('(As Texter) Verify Todos', () => { | ||
texter.viewSendFirstTexts(driverTexter) | ||
}) | ||
|
||
describe('(As Texter) Log Out', () => { | ||
main.logOutUser(driverTexter) | ||
}) | ||
}) | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driver, CAMPAIGN) | ||
describe('Create Campaign (Existing Texters with Opt-Out)', () => { | ||
const CAMPAIGN = STRINGS.campaigns.existingTexterOptOut | ||
|
||
describe('(As Admin) Invite a new Texter', () => { | ||
people.invite(driverAdmin) | ||
}) | ||
|
||
describe('(As Texter) Follow the Invite URL', () => { | ||
texter.viewInvite(driverTexter) | ||
login.tryLoginThenSignUp(driverTexter, CAMPAIGN.texter) | ||
}) | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) Verify Todos', () => { | ||
texter.viewSendFirstTexts(driverTexter) | ||
}) | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
import { selenium } from './util/helpers' | ||
import STRINGS from './data/strings' | ||
import { campaigns, login, main, people, texter } from './page-functions/index' | ||
|
||
jasmine.getEnv().addReporter(selenium.reporter) | ||
|
||
describe('Create and Copy Campaign', () => { | ||
// Instantiate browser(s) | ||
const driverAdmin = selenium.buildDriver({ name: 'Spoke E2E Tests - Chrome - Create and Copy Campaign - Admin' }) | ||
const driverTexter = selenium.buildDriver({ name: 'Spoke E2E Tests - Chrome - Create and Copy Campaign - Texter' }) | ||
const CAMPAIGN = STRINGS.campaigns.copyCampaign | ||
|
||
beforeAll(() => { | ||
global.e2e = {} | ||
}) | ||
|
||
afterAll(async () => { | ||
await selenium.quitDriver(driverAdmin) | ||
await selenium.quitDriver(driverTexter) | ||
}) | ||
|
||
describe('(As Admin) Open Landing Page', () => { | ||
login.landing(driverAdmin) | ||
}) | ||
|
||
describe('(As Admin) Log In an admin to Spoke', () => { | ||
login.tryLoginThenSignUp(driverAdmin, CAMPAIGN.admin) | ||
}) | ||
|
||
describe('(As Admin) Create a New Organization / Team', () => { | ||
main.createOrg(driverAdmin, STRINGS.org) | ||
}) | ||
|
||
describe('(As Admin) Invite a new User', () => { | ||
people.invite(driverAdmin) | ||
}) | ||
|
||
describe('(As Texter) Follow the Invite URL', () => { | ||
texter.viewInvite(driverTexter) | ||
login.tryLoginThenSignUp(driverTexter, CAMPAIGN.texter) | ||
}) | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Admin) Copy Campaign', () => { | ||
campaigns.copyCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
import { selenium } from './util/helpers' | ||
import STRINGS from './data/strings' | ||
import { campaigns, login, main } from './page-functions/index' | ||
|
||
jasmine.getEnv().addReporter(selenium.reporter) | ||
|
||
describe('Create and Edit Campaign', () => { | ||
// Instantiate browser(s) | ||
const driver = selenium.buildDriver({ name: 'Spoke E2E Tests - Chrome - Create and Edit Campaign - Admin' }) | ||
const CAMPAIGN = STRINGS.campaigns.editCampaign | ||
|
||
beforeAll(() => { | ||
global.e2e = {} | ||
}) | ||
|
||
afterAll(async () => { | ||
await selenium.quitDriver(driver) | ||
}) | ||
|
||
describe('(As Admin) Open Landing Page', () => { | ||
login.landing(driver) | ||
}) | ||
|
||
describe('(As Admin) Log In an admin to Spoke', () => { | ||
login.tryLoginThenSignUp(driver, CAMPAIGN.admin) | ||
}) | ||
|
||
describe('(As Admin) Create a New Organization / Team', () => { | ||
main.createOrg(driver, STRINGS.org) | ||
}) | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driver, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Admin) Edit Campaign', () => { | ||
campaigns.editCampaign(driver, CAMPAIGN) | ||
}) | ||
}) |
Oops, something went wrong.