mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Add coverage for async accounts auth APIs
This commit is contained in:
@@ -99,12 +99,16 @@ Tinytest.addAsync(
|
||||
'accounts async - Meteor.loggingIn() is false after login has completed',
|
||||
(test, done) => {
|
||||
logoutAndCreateUser(test, done, () => {
|
||||
// Login then verify loggingIn is false after login has completed
|
||||
Meteor.loginWithPassword(username, password, async () => {
|
||||
test.isFalse(Meteor.loggingIn());
|
||||
test.isTrue(await Meteor.userAsync());
|
||||
removeTestUser(done);
|
||||
});
|
||||
Meteor.loginWithPasswordAsync(username, password)
|
||||
.then(async (loginDetails) => {
|
||||
test.isFalse(Meteor.loggingIn());
|
||||
test.isTrue(await Meteor.userAsync());
|
||||
test.equal(loginDetails.type, 'password');
|
||||
test.equal(loginDetails.id, Meteor.userId());
|
||||
test.isTrue(!!loginDetails.token);
|
||||
})
|
||||
.catch(error => test.fail(error.message))
|
||||
.finally(() => removeTestUser(done));
|
||||
});
|
||||
}
|
||||
);
|
||||
@@ -125,12 +129,13 @@ Tinytest.addAsync(
|
||||
'accounts - Meteor.loggingOut() is false after logout has completed',
|
||||
(test, done) => {
|
||||
logoutAndCreateUser(test, done, () => {
|
||||
// Logout then verify loggingOut is false after logout has completed
|
||||
Meteor.logout((error) => {
|
||||
test.isFalse(Meteor.user());
|
||||
test.isFalse(Meteor.loggingOut());
|
||||
removeTestUser(done);
|
||||
});
|
||||
Meteor.logoutAsync()
|
||||
.then(async () => {
|
||||
test.isFalse(await Meteor.userAsync());
|
||||
test.isFalse(Meteor.loggingOut());
|
||||
})
|
||||
.catch(error => test.fail(error.message))
|
||||
.finally(() => removeTestUser(done));
|
||||
});
|
||||
}
|
||||
);
|
||||
@@ -516,11 +521,13 @@ Tinytest.addAsync('accounts - logoutAllClients', function (test, done) {
|
||||
await Meteor.callAsync('pushFakeLoginToken', userId, 'test-token');
|
||||
await Meteor.callAsync('pushFakeLoginToken', userId, 'test-token2');
|
||||
test.equal(await Meteor.callAsync('getLoginTokenCount', userId), 3);
|
||||
Meteor.logoutAllClients(async () => {
|
||||
test.isFalse(!!Meteor.user());
|
||||
test.equal(await Meteor.callAsync('getLoginTokenCount', userId), 0);
|
||||
removeTestUser(done);
|
||||
});
|
||||
Meteor.logoutAllClientsAsync()
|
||||
.then(async () => {
|
||||
test.isFalse(!!Meteor.user());
|
||||
test.equal(await Meteor.callAsync('getLoginTokenCount', userId), 0);
|
||||
})
|
||||
.catch(error => test.fail(error.message))
|
||||
.finally(() => removeTestUser(done));
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -833,8 +833,11 @@ if (Meteor.isClient) (() => {
|
||||
|
||||
function (test, expect) {
|
||||
// we can login with a valid token
|
||||
const expectLoginOK = expect(err => test.isFalse(err));
|
||||
Meteor.loginWithToken(Accounts._storedLoginToken(), expectLoginOK);
|
||||
return Meteor.loginWithTokenAsync(Accounts._storedLoginToken())
|
||||
.then((loginDetails) => {
|
||||
test.equal(loginDetails.type, 'resume');
|
||||
test.isTrue(!!loginDetails.token);
|
||||
});
|
||||
},
|
||||
|
||||
function (test, expect) {
|
||||
@@ -889,14 +892,15 @@ if (Meteor.isClient) (() => {
|
||||
const expectSecondConnLoggedIn = expect((err, result) => {
|
||||
test.equal(result.token, token);
|
||||
test.isFalse(err);
|
||||
Meteor.logoutOtherClients(err => {
|
||||
test.isFalse(err);
|
||||
secondConn.call('login', { resume: token },
|
||||
expectSecondConnLoggedOut);
|
||||
Accounts.connection.call('login', {
|
||||
resume: Accounts._storedLoginToken()
|
||||
}, expectAccountsConnLoggedIn);
|
||||
});
|
||||
Meteor.logoutOtherClientsAsync()
|
||||
.then(() => {
|
||||
secondConn.call('login', { resume: token },
|
||||
expectSecondConnLoggedOut);
|
||||
Accounts.connection.call('login', {
|
||||
resume: Accounts._storedLoginToken()
|
||||
}, expectAccountsConnLoggedIn);
|
||||
})
|
||||
.catch(asyncError => test.fail(asyncError.message));
|
||||
});
|
||||
|
||||
Meteor.loginWithPassword(
|
||||
|
||||
Reference in New Issue
Block a user