Skip to content

Commit 4b5116a

Browse files
joeltejedachrisjsimpson
authored andcommitted
refactoring email sending to magic login and reset password
1 parent fe0c99e commit 4b5116a

File tree

4 files changed

+30
-29
lines changed

4 files changed

+30
-29
lines changed

.github/workflows/test-email-shopowner-704.yml

+7-9
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,13 @@ jobs:
2929
- name: Run test shop owner email magic login received
3030
env:
3131
PLAYWRIGHT_HEADLESS: true
32-
TEST_SHOP_OWNER_LOGIN_URL_ISSUE_704: ${{ secrets.SHOP_OWNER_LOGIN_URL_ISSUE_704 }}
33-
TEST_SHOP_OWNER_EMAIL_ISSUE_704: ${{ secrets.SHOP_OWNER_EMAIL_ISSUE_704 }}
34-
email_host: ${{ secrets.EMAIL_HOST_ISSUE_704 }}
35-
email_user: ${{ secrets.EMAIL_USER_ISSUE_704 }}
36-
email_password: ${{ secrets.EMAIL_PASSWORD_ISSUE_704 }}
37-
email_search_api_host: ${{ secrets.EMAIL_SEARCH_API_HOST_ISSUE_704 }}
38-
imap_search_subject: "Subscribie Magic Login"
39-
imap_search_unseen: "1"
40-
imap_search_since_date: "01-Sep-2021"
32+
SHOP_OWNER_LOGIN_URL: ${{ secrets.SHOP_OWNER_LOGIN_URL }}
33+
SHOP_OWNER_EMAIL_HOST: ${{ secrets.SHOP_OWNER_EMAIL_HOST }}
34+
SHOP_OWNER_EMAIL_USER: ${{ secrets.SHOP_OWNER_EMAIL_USER }}
35+
SHOP_OWNER_EMAIL_PASSWORD: ${{ secrets.SHOP_OWNER_EMAIL_PASSWORD }}
36+
EMAIL_SEARCH_API_HOST: ${{ secrets.EMAIL_SEARCH_API_HOST_ISSUE_704 }}
37+
SHOP_OWNER_MAGIC_LOGIN_IMAP_SEARCH_SUBJECT: "Subscribie Magic Login"
38+
IMAP_SEARCH_SINCE_DATE: "01-Sep-2021"
4139
run: |
4240
set -x
4341
cd tests/browser-automated-tests-playwright; npx playwright test --grep @704

tests/browser-automated-tests-playwright/tests/704_shop_owner_magic_login_receives_email.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
const { test, expect } = require('@playwright/test');
22
const checkShopOwnerLogin = require('./checkShopOwnerLogin.js');
33

4-
const TEST_SHOP_OWNER_LOGIN_URL = process.env.TEST_SHOP_OWNER_LOGIN_URL_ISSUE_704
5-
const TEST_SHOP_OWNER_EMAIL = process.env.TEST_SHOP_OWNER_EMAIL_ISSUE_704
4+
const SHOP_OWNER_LOGIN_URL = process.env.SHOP_OWNER_LOGIN_URL
5+
const SHOP_OWNER_EMAIL = process.env.SHOP_OWNER_EMAIL_USER
66

77
test('@704@shop_owner@magic login receives email', async ({ page }) => {
8-
await page.goto(TEST_SHOP_OWNER_LOGIN_URL);
9-
await page.fill('#email', TEST_SHOP_OWNER_EMAIL);
8+
await page.goto(SHOP_OWNER_LOGIN_URL);
9+
await page.fill('#email', SHOP_OWNER_EMAIL);
1010
await page.click('#login');
1111
await new Promise(r => setTimeout(r, 5000));
1212
checkShopOwnerLogin.checkShopOwnerLogin();

tests/browser-automated-tests-playwright/tests/checkShopOwnerLogin.js

+18-15
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
const https = require('https')
22

33
function checkShopOwnerLogin() {
4-
email_host = process.env.email_host
5-
email_user = process.env.email_user
6-
email_password = process.env.email_password
7-
imap_search_subject = process.env.imap_search_subject
8-
imap_search_unseen = process.env.imap_search_unseen
9-
imap_search_since_date = process.env.imap_search_since_date
10-
11-
email_search_api_host = process.env.email_search_api_host
4+
SHOP_OWNER_EMAIL_HOST = process.env.SHOP_OWNER_EMAIL_HOST
5+
SHOP_OWNER_EMAIL_USER = process.env.SHOP_OWNER_EMAIL_USER
6+
SHOP_OWNER_EMAIL_PASSWORD = process.env.SHOP_OWNER_EMAIL_PASSWORD
7+
MAGIC_LOGIN_IMAP_SEARCH_SUBJECT = process.env.MAGIC_LOGIN_IMAP_SEARCH_SUBJECT
8+
// global env
9+
IMAP_SEARCH_SINCE_DATE = process.env.IMAP_SEARCH_SINCE_DATE
10+
EMAIL_SEARCH_API_HOST = process.env.EMAIL_SEARCH_API_HOST
1211

1312
const data = JSON.stringify({
14-
email_host: email_host,
15-
email_user: email_user,
16-
email_password: email_password,
17-
imap_search_subject: imap_search_subject,
18-
imap_search_unseen: imap_search_unseen,
19-
imap_search_since_date: imap_search_since_date
13+
email_host: SHOP_OWNER_EMAIL_HOST,
14+
email_user: SHOP_OWNER_EMAIL_USER,
15+
email_password: SHOP_OWNER_EMAIL_PASSWORD,
16+
imap_search_subject: MAGIC_LOGIN_IMAP_SEARCH_SUBJECT,
17+
imap_search_unseen: 1,
18+
imap_search_since_date: IMAP_SEARCH_SINCE_DATE
2019
})
2120

2221

2322
const options = {
24-
hostname: email_search_api_host,
23+
hostname: EMAIL_SEARCH_API_HOST,
2524
port: 443,
2625
path: '/search-email',
2726
method: 'POST',
@@ -46,6 +45,10 @@ function checkShopOwnerLogin() {
4645
}
4746
lastEmail = emails[emails.length -1]['email_body']
4847
if ( lastEmail.includes('/auth/login/') ) {
48+
jsonToString = JSON.stringify(lastEmail);
49+
const regex = /"(http.*)(?:\\")/gm;
50+
magic_login_url = regex.exec(jsonToString)[1];
51+
module.exports.magic_login_url = magic_login_url;
4952
return true
5053
} else {
5154
console.error("Could not find login text in email")

tests/browser-automated-tests-playwright/tests/checkSubscriberLogin.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function checkSubscriberLogin() {
66
SUBSCRIBER_EMAIL_USER = process.env.SUBSCRIBER_EMAIL_USER
77
SUBSCRIBER_EMAIL_PASSWORD = process.env.SUBSCRIBER_EMAIL_PASSWORD
88
RESET_PASSWORD_IMAP_SEARCH_SUBJECT = process.env.RESET_PASSWORD_IMAP_SEARCH_SUBJECT
9-
IMAP_SEARCH_UNSEEN = process.env.IMAP_SEARCH_UNSEEN
9+
//global env
1010
IMAP_SEARCH_SINCE_DATE = process.env.IMAP_SEARCH_SINCE_DATE
1111
EMAIL_SEARCH_API_HOST = process.env.EMAIL_SEARCH_API_HOST
1212

0 commit comments

Comments
 (0)