1818 */
1919
2020import assert from "assert" ;
21- import puppeteer from "puppeteer" ;
22- import fetch from "isomorphic-fetch" ;
2321import {
2422 waitForSTElement ,
2523 screenshotOnFailure ,
@@ -31,51 +29,51 @@ import {
3129 getSignInOrSignUpSwitchLink ,
3230 setInputValues ,
3331 submitForm ,
34- loginWithGoogle ,
3532 clearBrowserCookiesWithoutAffectingConsole ,
3633 clickOnProviderButton ,
3734 loginWithAuth0 ,
3835 isMultitenancySupported ,
3936 isMultitenancyManagementEndpointsSupported ,
4037 setupTenant ,
41- backendBeforeEach ,
4238 getTextByDataSupertokens ,
4339 setupBrowser ,
40+ setupCoreApp ,
41+ setupST ,
42+ backendHook ,
43+ waitForUrl ,
4444} from "../helpers" ;
4545import {
4646 TEST_CLIENT_BASE_URL ,
4747 DEFAULT_WEBSITE_BASE_PATH ,
48- TEST_SERVER_BASE_URL ,
4948 SIGN_IN_UP_API ,
5049 SOMETHING_WENT_WRONG_ERROR ,
5150 LOGIN_METHODS_API ,
5251} from "../constants" ;
5352
54- let connectionURI ;
5553/*
5654 * Tests.
5755 */
5856describe ( "SuperTokens Multitenancy dynamic login methods" , function ( ) {
5957 let browser ;
6058 let page ;
6159 let pageCrashed ;
60+ let appId ;
6261
6362 before ( async function ( ) {
63+ await backendHook ( "before" ) ;
6464 const isSupported = ( await isMultitenancySupported ( ) ) && ( await isMultitenancyManagementEndpointsSupported ( ) ) ;
6565 if ( ! isSupported ) {
6666 this . skip ( ) ;
6767 }
68+
69+ browser = await setupBrowser ( ) ;
6870 } ) ;
6971
7072 beforeEach ( async function ( ) {
71- await backendBeforeEach ( ) ;
72-
73- const startSTResp = await fetch ( `${ TEST_SERVER_BASE_URL } /startst` , {
74- method : "POST" ,
75- } ) . catch ( console . error ) ;
73+ await backendHook ( "beforeEach" ) ;
7674
77- assert . strictEqual ( startSTResp . status , 200 ) ;
78- connectionURI = await startSTResp . text ( ) ;
75+ const coreUrl = await setupCoreApp ( ) ;
76+ await setupST ( { coreUrl } ) ;
7977
8078 page = await browser . newPage ( ) ;
8179 pageCrashed = false ;
@@ -93,27 +91,14 @@ describe("SuperTokens Multitenancy dynamic login methods", function () {
9391 } ) ;
9492
9593 afterEach ( async function ( ) {
96- await fetch ( `${ TEST_SERVER_BASE_URL } /after` , {
97- method : "POST" ,
98- } ) . catch ( console . error ) ;
99-
100- await fetch ( `${ TEST_SERVER_BASE_URL } /stopst` , {
101- method : "POST" ,
102- } ) . catch ( console . error ) ;
10394 await screenshotOnFailure ( this , browser ) ;
104- if ( page ) {
105- await page . close ( ) ;
106- }
107- } ) ;
108-
109- before ( async ( ) => {
110- browser = await setupBrowser ( ) ;
95+ await page ?. close ( ) ;
96+ await backendHook ( "afterEach" ) ;
11197 } ) ;
11298
11399 after ( async function ( ) {
114- if ( browser !== undefined ) {
115- await browser . close ( ) ;
116- }
100+ await browser ?. close ( ) ;
101+ await backendHook ( "after" ) ;
117102 } ) ;
118103
119104 it ( "Renders correct signup form with emailpassword when core list of providers is empty" , async function ( ) {
@@ -922,6 +907,9 @@ describe("SuperTokens Multitenancy dynamic login methods", function () {
922907 } ) ;
923908
924909 it ( "should be able to log in with dynamically added tp providers" , async function ( ) {
910+ // This test is particularly slow, overriding the timeout to be slightly longer than default
911+ this . timeout ( 40000 ) ;
912+
925913 await setEnabledRecipes ( page , [ "thirdparty" ] ) ;
926914 await enableDynamicLoginMethods ( page , {
927915 emailPassword : { enabled : false } ,
0 commit comments