1616/*
1717 * Imports
1818 */
19-
2019import assert from "assert" ;
21- import puppeteer from "puppeteer" ;
2220import {
2321 clearBrowserCookiesWithoutAffectingConsole ,
24- setInputValues ,
25- submitForm ,
26- waitForSTElement ,
2722 screenshotOnFailure ,
28- backendBeforeEach ,
23+ backendHook ,
2924 getTestEmail ,
30- getPasswordlessDevice ,
31- waitFor ,
3225 getFactorChooserOptions ,
33- setAccountLinkingConfig ,
3426 isMFASupported ,
3527 setupBrowser ,
28+ createCoreApp ,
3629} from "../helpers" ;
37- import fetch from "isomorphic-fetch" ;
38- import { CREATE_CODE_API , CREATE_TOTP_DEVICE_API , MFA_INFO_API , TEST_APPLICATION_SERVER_BASE_URL } from "../constants" ;
39-
40- import { TEST_CLIENT_BASE_URL , TEST_SERVER_BASE_URL } from "../constants" ;
30+ import { TEST_CLIENT_BASE_URL } from "../constants" ;
4131import { getTestPhoneNumber } from "../exampleTestHelpers" ;
4232import {
43- setMFAInfo ,
4433 tryEmailPasswordSignUp ,
4534 waitForDashboard ,
4635 completeOTP ,
4736 setupOTP ,
4837 logout ,
4938 tryEmailPasswordSignIn ,
50- chooseFactor ,
51- tryPasswordlessSignInUp ,
5239 setupTOTP ,
5340 completeTOTP ,
54- setupUserWithAllFactors ,
5541 goToFactorChooser ,
56- waitForAccessDenied ,
57- waitForLoadingScreen ,
58- waitForBlockedScreen ,
5942 addToRequiredSecondaryFactorsForUser ,
6043} from "./mfa.helpers" ;
6144
@@ -66,46 +49,26 @@ describe("SuperTokens SignIn w/ MFA", function () {
6649 let browser ;
6750 let page ;
6851 let consoleLogs = [ ] ;
69- let skipped = false ;
52+
53+ const appConfig = {
54+ accountLinkingConfig : {
55+ enabled : true ,
56+ shouldAutoLink : {
57+ shouldAutomaticallyLink : true ,
58+ shouldRequireVerification : false ,
59+ } ,
60+ } ,
61+ } ;
7062
7163 before ( async function ( ) {
7264 if ( ! ( await isMFASupported ( ) ) ) {
73- skipped = true ;
7465 this . skip ( ) ;
75- return ;
7666 }
77- await backendBeforeEach ( ) ;
7867
79- await fetch ( `${ TEST_SERVER_BASE_URL } /startst` , {
80- method : "POST" ,
81- } ) . catch ( console . error ) ;
82-
83- await setAccountLinkingConfig ( true , true , false ) ;
68+ await backendHook ( "before" ) ;
8469 browser = await setupBrowser ( ) ;
8570 } ) ;
8671
87- after ( async function ( ) {
88- if ( skipped ) {
89- return ;
90- }
91- await browser . close ( ) ;
92-
93- await fetch ( `${ TEST_SERVER_BASE_URL } /after` , {
94- method : "POST" ,
95- } ) . catch ( console . error ) ;
96-
97- await fetch ( `${ TEST_SERVER_BASE_URL } /stopst` , {
98- method : "POST" ,
99- } ) . catch ( console . error ) ;
100- } ) ;
101-
102- afterEach ( async function ( ) {
103- await screenshotOnFailure ( this , browser ) ;
104- if ( page ) {
105- await page . close ( ) ;
106- }
107- } ) ;
108-
10972 beforeEach ( async function ( ) {
11073 page = await browser . newPage ( ) ;
11174 page . on ( "console" , ( consoleObj ) => {
@@ -123,10 +86,22 @@ describe("SuperTokens SignIn w/ MFA", function () {
12386 await page . evaluate ( ( ) => window . localStorage . setItem ( "enableAllRecipes" , "true" ) ) ;
12487 } ) ;
12588
89+ afterEach ( async function ( ) {
90+ await screenshotOnFailure ( this , browser ) ;
91+ await page ?. close ( ) ;
92+ await backendHook ( "afterEach" ) ;
93+ } ) ;
94+
95+ after ( async function ( ) {
96+ await browser ?. close ( ) ;
97+ await backendHook ( "after" ) ;
98+ } ) ;
99+
126100 describe ( "default requirements" , ( ) => {
127101 let email , phoneNumber ;
102+
128103 beforeEach ( async ( ) => {
129- await setMFAInfo ( { } ) ;
104+ await createCoreApp ( appConfig ) ;
130105 const setupPage = await browser . newPage ( ) ;
131106
132107 email = await getTestEmail ( ) ;
0 commit comments