FirebaseStub refactoring

This commit is contained in:
gianantoniopini
2021-01-07 13:23:22 +01:00
parent 176ba0de7a
commit 294dbf195f
4 changed files with 34 additions and 33 deletions

View File

@ -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();
});

View File

@ -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 };

View File

@ -0,0 +1 @@
export { Auth as AuthConstants } from './constants/auth';

View File

@ -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 };