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 "Moveon main plus reassign all plus message review optout plus…
… set message validity"
- Loading branch information
Showing
81 changed files
with
670 additions
and
2,343 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,143 +1,47 @@ | ||
import { selenium } from './util/helpers' | ||
import STRINGS from './data/strings' | ||
import { campaigns, login, main, people, texter } from './page-functions/index' | ||
import { login, invite, campaigns, people } from './page-functions/index' | ||
|
||
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' }) | ||
// Instantiate browser(s) | ||
const driver = selenium.buildDriver() | ||
const driverTexter = selenium.buildDriver() | ||
|
||
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(driverAdmin) | ||
await selenium.quitDriver(driver) | ||
await selenium.quitDriver(driverTexter) | ||
}) | ||
|
||
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) Create a New Organization / Team', () => { | ||
main.createOrg(driverAdmin, STRINGS.org) | ||
}) | ||
describe('(As Admin) Open Landing Page', () => { | ||
login.landing(driver) | ||
}) | ||
|
||
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) Log In an admin to Spoke', () => { | ||
login.tryLoginThenSignUp(driver, CAMPAIGN.admin) | ||
}) | ||
|
||
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 Admin) Create a New Organization / Team', () => { | ||
invite.createOrg(driver, STRINGS.org) | ||
}) | ||
|
||
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) Invite a new User', () => { | ||
people.invite(driver) | ||
}) | ||
|
||
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) | ||
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) | ||
}) | ||
login.tryLoginThenSignUp(driverTexter, CAMPAIGN.texter) | ||
}) | ||
}) | ||
|
||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driverAdmin, CAMPAIGN) | ||
}) | ||
|
||
describe('(As Texter) Verify Todos', () => { | ||
texter.viewSendFirstTexts(driverTexter) | ||
}) | ||
describe('(As Admin) Create a New Campaign', () => { | ||
campaigns.startCampaign(driver, CAMPAIGN) | ||
}) | ||
}) |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.