mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-07 22:41:04 +08:00
70 lines
2.4 KiB
JavaScript
70 lines
2.4 KiB
JavaScript
describe('auth()', () => {
|
|
beforeEach(async () => {
|
|
if (firebase.auth().currentUser) {
|
|
await firebase.auth().signOut();
|
|
await Utils.sleep(50);
|
|
}
|
|
});
|
|
|
|
// TODO(salakar): Detox on iOS crashing app on reloads
|
|
android.describe('firebase.auth().currentUser', () => {
|
|
it('exists after reload', async () => {
|
|
let currentUser;
|
|
// before reload
|
|
await firebase.auth().signInAnonymously();
|
|
|
|
({ currentUser } = firebase.auth());
|
|
currentUser.should.be.an.Object();
|
|
currentUser.uid.should.be.a.String();
|
|
currentUser.toJSON().should.be.an.Object();
|
|
should.equal(currentUser.toJSON().email, null);
|
|
currentUser.isAnonymous.should.equal(true);
|
|
currentUser.providerId.should.equal('firebase');
|
|
currentUser.should.equal(firebase.auth().currentUser);
|
|
|
|
// RELOAD
|
|
await device.reloadReactNative();
|
|
|
|
// after reload
|
|
({ currentUser } = firebase.auth());
|
|
currentUser.should.be.an.Object();
|
|
currentUser.uid.should.be.a.String();
|
|
currentUser.toJSON().should.be.an.Object();
|
|
should.equal(currentUser.toJSON().email, null);
|
|
currentUser.isAnonymous.should.equal(true);
|
|
currentUser.providerId.should.equal('firebase');
|
|
currentUser.should.equal(firebase.auth().currentUser);
|
|
|
|
// test correct user is returned after signing
|
|
// in with a different user then reloading
|
|
await firebase.auth().signOut();
|
|
|
|
const email = 'test@test.com';
|
|
const pass = 'test1234';
|
|
await firebase.auth().signInWithEmailAndPassword(email, pass);
|
|
|
|
({ currentUser } = firebase.auth());
|
|
currentUser.should.be.an.Object();
|
|
currentUser.uid.should.be.a.String();
|
|
currentUser.toJSON().should.be.an.Object();
|
|
currentUser.toJSON().email.should.eql(email);
|
|
currentUser.isAnonymous.should.equal(false);
|
|
currentUser.providerId.should.equal('firebase');
|
|
currentUser.should.equal(firebase.auth().currentUser);
|
|
|
|
// RELOAD
|
|
await device.reloadReactNative();
|
|
|
|
// after reload
|
|
({ currentUser } = firebase.auth());
|
|
currentUser.should.be.an.Object();
|
|
currentUser.uid.should.be.a.String();
|
|
currentUser.toJSON().should.be.an.Object();
|
|
currentUser.toJSON().email.should.eql(email);
|
|
currentUser.isAnonymous.should.equal(false);
|
|
currentUser.providerId.should.equal('firebase');
|
|
currentUser.should.equal(firebase.auth().currentUser);
|
|
}).timeout(15000);
|
|
});
|
|
});
|