Skip to content

Commit

Permalink
Revert "Moveon main plus reassign all plus message review optout plus…
Browse files Browse the repository at this point in the history
… set message validity"
  • Loading branch information
joemcl committed Sep 30, 2018
1 parent 78767fe commit 74938ff
Show file tree
Hide file tree
Showing 81 changed files with 670 additions and 2,343 deletions.
2 changes: 1 addition & 1 deletion .eslintrc
Expand Up @@ -11,5 +11,5 @@
"semi": ["error", "never"],
"react/require-extension": "off",
},
"env": { "jest": true, "node": true, "browser": true, "jasmine": true }
"env": { "jest": true, "node": true, "browser": true }
}
20 changes: 16 additions & 4 deletions __test__/containers/AssignmentTexterContact.test.js
Expand Up @@ -59,17 +59,28 @@ const propsWithEnforcedTextingHoursCampaign = {
},
campaign: campaign,
contacts: [
{
id: 19,
customFields: "{}"
},
{
id: 20,
customFields: "{}"
}
],
allContacts: [
{
id: 19
},
{
id: 20
}
],
allContactsCount: 2,
},
refreshData: jest.fn(),
contact: {
data: {
loading: false,
contact: {
id: 19,
assignmentId: 9,
firstName: "larry",
Expand All @@ -90,6 +101,7 @@ const propsWithEnforcedTextingHoursCampaign = {
},
messageStatus: "needsMessage",
messages: []
}
}
}

Expand All @@ -109,7 +121,7 @@ describe('when contact is not within texting hours...', () => {
campaign={campaign}
assignment={propsWithEnforcedTextingHoursCampaign.assignment}
refreshData={propsWithEnforcedTextingHoursCampaign.refreshData}
contact={propsWithEnforcedTextingHoursCampaign.contact}
data={propsWithEnforcedTextingHoursCampaign.data}
/>
</MuiThemeProvider>
)
Expand All @@ -132,7 +144,7 @@ describe('when contact is within texting hours...', () => {
campaign={campaign}
assignment={propsWithEnforcedTextingHoursCampaign.assignment}
refreshData={propsWithEnforcedTextingHoursCampaign.refreshData}
contact={propsWithEnforcedTextingHoursCampaign.contact}
data={propsWithEnforcedTextingHoursCampaign.data}
/>
</MuiThemeProvider>
)
Expand Down
142 changes: 23 additions & 119 deletions __test__/e2e/basic_text_manager.test.js
@@ -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)
})
})
50 changes: 0 additions & 50 deletions __test__/e2e/create_copy_campaign.test.js

This file was deleted.

39 changes: 0 additions & 39 deletions __test__/e2e/create_edit_campaign.test.js

This file was deleted.

0 comments on commit 74938ff

Please sign in to comment.