diff --git a/__mocks__/__tests__/gatsby-plugin-firebase.test.js b/__mocks__/__tests__/gatsby-plugin-firebase.test.js index 657ae45a..d75dfcdc 100644 --- a/__mocks__/__tests__/gatsby-plugin-firebase.test.js +++ b/__mocks__/__tests__/gatsby-plugin-firebase.test.js @@ -1,9 +1,9 @@ -import FirebaseStub from '../gatsby-plugin-firebase'; +import FirebaseStub, { AuthConstants } from '../gatsby-plugin-firebase'; describe('FirebaseStub', () => { - const resumesPath = FirebaseStub.database().resumesPath; - const usersPath = FirebaseStub.database().usersPath; - const connectedPath = FirebaseStub.database().connectedPath; + const { resumesPath } = FirebaseStub.database(); + const { usersPath } = FirebaseStub.database(); + const { connectedPath } = FirebaseStub.database(); describe('auth', () => { afterEach(() => { @@ -23,7 +23,7 @@ describe('FirebaseStub', () => { const user = await FirebaseStub.auth().signInAnonymously(); expect(user).toBeTruthy(); - expect(user).toEqual(FirebaseStub.auth().anonymousUser1); + expect(user).toEqual(AuthConstants.anonymousUser1); }); it('calls onAuthStateChanged observer with anonymous user 1 when signing in anonymously', async () => { @@ -41,7 +41,7 @@ describe('FirebaseStub', () => { await FirebaseStub.auth().signInAnonymously(); expect(user).toBeTruthy(); - expect(user).toEqual(FirebaseStub.auth().anonymousUser1); + expect(user).toEqual(AuthConstants.anonymousUser1); expect(error).toBeNull(); }); diff --git a/__mocks__/gatsby-plugin-firebase.js b/__mocks__/gatsby-plugin-firebase.js index e92edf16..ed51b926 100644 --- a/__mocks__/gatsby-plugin-firebase.js +++ b/__mocks__/gatsby-plugin-firebase.js @@ -2,22 +2,10 @@ import path from 'path'; import fs from 'fs'; import { v4 as uuidv4 } from 'uuid'; +import { AuthConstants } from './gatsby-plugin-firebase/constants'; + class Auth { static #instance = undefined; - static anonymousUser1 = { - displayName: 'Anonymous User 1', - email: 'anonymous1@noemail.com', - isAnonymous: true, - name: 'Anonymous 1', - uid: 'anonym123', - }; - static anonymousUser2 = { - displayName: 'Anonymous User 2', - email: 'anonymous2@noemail.com', - isAnonymous: true, - name: 'Anonymous 2', - uid: 'anonym456', - }; #uuid = ''; #onAuthStateChangedObservers = []; @@ -39,14 +27,6 @@ class Auth { return this.#onAuthStateChangedObservers; } - get anonymousUser1() { - return Auth.anonymousUser1; - } - - get anonymousUser2() { - return Auth.anonymousUser2; - } - dispose() { this.#onAuthStateChangedObservers = []; } @@ -62,7 +42,7 @@ class Auth { } async signInAnonymously() { - const user = this.anonymousUser1; + const user = AuthConstants.anonymousUser1; this.#onAuthStateChangedObservers.forEach((observer) => observer(user)); @@ -90,12 +70,12 @@ class Database { this.#uuid = uuidv4(); this.#anonymousUser1 = { - uid: Auth.anonymousUser1.uid, - isAnonymous: Auth.anonymousUser1.isAnonymous, + uid: AuthConstants.anonymousUser1.uid, + isAnonymous: AuthConstants.anonymousUser1.isAnonymous, }; this.#anonymousUser2 = { - uid: Auth.anonymousUser2.uid, - isAnonymous: Auth.anonymousUser2.isAnonymous, + uid: AuthConstants.anonymousUser2.uid, + isAnonymous: AuthConstants.anonymousUser2.isAnonymous, }; } @@ -392,3 +372,4 @@ Object.defineProperty(FirebaseStub.database.ServerValue, 'TIMESTAMP', { }); export default FirebaseStub; +export { AuthConstants }; diff --git a/__mocks__/gatsby-plugin-firebase/constants.js b/__mocks__/gatsby-plugin-firebase/constants.js new file mode 100644 index 00000000..0fef2af1 --- /dev/null +++ b/__mocks__/gatsby-plugin-firebase/constants.js @@ -0,0 +1 @@ +export { Auth as AuthConstants } from './constants/auth'; diff --git a/__mocks__/gatsby-plugin-firebase/constants/auth.js b/__mocks__/gatsby-plugin-firebase/constants/auth.js new file mode 100644 index 00000000..33ea4970 --- /dev/null +++ b/__mocks__/gatsby-plugin-firebase/constants/auth.js @@ -0,0 +1,19 @@ +class Auth { + static anonymousUser1 = { + displayName: 'Anonymous User 1', + email: 'anonymous1@noemail.com', + isAnonymous: true, + name: 'Anonymous 1', + uid: 'anonym123', + }; + + static anonymousUser2 = { + displayName: 'Anonymous User 2', + email: 'anonymous2@noemail.com', + isAnonymous: true, + name: 'Anonymous 2', + uid: 'anonym456', + }; +} + +export { Auth };