1818 */
1919
2020import assert from "assert" ;
21- import puppeteer from "puppeteer" ;
2221import {
2322 clearBrowserCookiesWithoutAffectingConsole ,
2423 waitForSTElement ,
2524 screenshotOnFailure ,
26- backendBeforeEach ,
2725 waitFor ,
2826 submitForm ,
2927 isMFASupported ,
30- setAccountLinkingConfig ,
3128 setupBrowser ,
29+ setupCoreApp ,
30+ setupST ,
31+ backendHook ,
3232} from "../helpers" ;
33- import fetch from "isomorphic-fetch" ;
34-
35- import { TEST_CLIENT_BASE_URL , TEST_SERVER_BASE_URL } from "../constants" ;
33+ import { TEST_CLIENT_BASE_URL } from "../constants" ;
3634import { getTestPhoneNumber } from "../exampleTestHelpers" ;
3735
3836/*
@@ -42,48 +40,31 @@ describe("SuperTokens MFA firstFactors support", function () {
4240 let browser ;
4341 let page ;
4442 let consoleLogs = [ ] ;
45- let skipped = false ;
43+
44+ const appConfig = {
45+ accountLinkingConfig : {
46+ enabled : true ,
47+ shouldAutoLink : {
48+ shouldAutomaticallyLink : true ,
49+ shouldRequireVerification : false ,
50+ } ,
51+ } ,
52+ } ;
4653
4754 before ( async function ( ) {
4855 if ( ! ( await isMFASupported ( ) ) ) {
49- skipped = true ;
5056 this . skip ( ) ;
51- return ;
5257 }
53- await backendBeforeEach ( ) ;
54-
55- await fetch ( `${ TEST_SERVER_BASE_URL } /startst` , {
56- method : "POST" ,
57- } ) . catch ( console . error ) ;
58-
59- await setAccountLinkingConfig ( true , true , false ) ;
58+ await backendHook ( "before" ) ;
6059 browser = await setupBrowser ( ) ;
61- } ) ;
6260
63- after ( async function ( ) {
64- if ( skipped ) {
65- return ;
66- }
67- await browser . close ( ) ;
68-
69- await fetch ( `${ TEST_SERVER_BASE_URL } /after` , {
70- method : "POST" ,
71- } ) . catch ( console . error ) ;
72-
73- await fetch ( `${ TEST_SERVER_BASE_URL } /stopst` , {
74- method : "POST" ,
75- } ) . catch ( console . error ) ;
76- } ) ;
77-
78- afterEach ( async function ( ) {
79- await screenshotOnFailure ( this , browser ) ;
80- if ( page ) {
81- page . evaluate ( ( ) => window . localStorage . removeItem ( "firstFactors" ) ) ;
82- await page . close ( ) ;
83- }
61+ const coreUrl = await setupCoreApp ( ) ;
62+ appConfig . coreUrl = coreUrl ;
63+ await setupST ( appConfig ) ;
8464 } ) ;
8565
8666 beforeEach ( async function ( ) {
67+ await backendHook ( "beforeEach" ) ;
8768 page = await browser . newPage ( ) ;
8869 page . on ( "console" , ( consoleObj ) => {
8970 const log = consoleObj . text ( ) ;
@@ -99,6 +80,18 @@ describe("SuperTokens MFA firstFactors support", function () {
9980 } ) ;
10081 } ) ;
10182
83+ afterEach ( async function ( ) {
84+ await screenshotOnFailure ( this , browser ) ;
85+ page ?. evaluate ( ( ) => window . localStorage . removeItem ( "firstFactors" ) ) ;
86+ await page ?. close ( ) ;
87+ await backendHook ( "afterEach" ) ;
88+ } ) ;
89+
90+ after ( async function ( ) {
91+ await browser ?. close ( ) ;
92+ await backendHook ( "after" ) ;
93+ } ) ;
94+
10295 describe ( "with firstFactors set on the client" , ( ) => {
10396 it ( "should display pwless w/ phone for [otp-phone]" , async ( ) => {
10497 await page . evaluate ( ( ) => {
0 commit comments