Skip to main content
Version: 2x

@qavajs/steps-gmail

Step library to test emails via gmail client

Installation

npm install @qavajs/steps-gmail

Configuration

module.exports = {
default: {
require: [
'node_modules/@qavajs/steps-gmail/index.js'
],
gmail: {
timeout: 30000, // timeout to wait email delivery
interval: 5000 // interval to check email delivery
}
}
}

Email Steps


I log in to gmail as {string}

Login to gmail

paramtypedescription
credentialsKeystringmemory key that resolves to Gmail auth object (google.auth.fromJSON)

credentials key should resolve to object like:

{
"type": "authorized_user",
"client_id": "client_id",
"client_secret": "client_secret",
"refresh_token": "refresh_token"
}

example:

When I log in to gmail as '$gmailUser'

I wait email matching {string}

Wait until email matching advanced search syntax query to exist

paramtypedescription
searchQuerystringadvanced search syntax query https://support.google.com/mail/answer/7190
When I wait email matching 'subject:some subject'

I save email matching {string} as {string}

Save email matching advanced search syntax query to memory as https://nodemailer.com/extras/mailparser/ object If query returns multiple message only first one will be saved.

paramtypedescription
searchQuerystringadvanced search syntax query https://support.google.com/mail/answer/7190
memoryKeystringmemory key to save email
When I save email matching 'subject:some subject' as 'email'
Then I expect '$email.subject' to equal 'some subject'