Skip to content
This repository was archived by the owner on Mar 17, 2025. It is now read-only.

Commit ce5b7ec

Browse files
committed
Upgrade manual tests to work with latest Jasmine version (removed waitsFor and replaced with approximation using setInterval)
1 parent e1ec16e commit ce5b7ec

File tree

1 file changed

+37
-33
lines changed

1 file changed

+37
-33
lines changed

tests/manual/auth.spec.js

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
angular.module('testx', ['firebase']);
22

33
describe("AngularFireAuth Test Suite", function() {
4+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 60000
45

56
//constants
67
var existingUser = {
@@ -21,7 +22,7 @@ describe("AngularFireAuth Test Suite", function() {
2122
var ngFireRef;
2223
var ngSimpleLogin;
2324

24-
function AsyncWaiter(events) {
25+
function AsyncWaiter(done, events) {
2526
var eventsToComplete = events ? events : ["default"];
2627

2728
this.done = function(event) {
@@ -30,16 +31,19 @@ describe("AngularFireAuth Test Suite", function() {
3031
if(ind >= 0) {
3132
eventsToComplete.splice(ind, 1);
3233
}
33-
}
34+
};
3435

3536
this.wait = function(message, timeout) {
36-
waitsFor(function() {
37+
var to = setInterval(function() {
3738
try {
3839
//We have to call this because the angular $timeout service is mocked for these tests.
3940
$timeout.flush();
4041
} catch(err) {}
41-
return eventsToComplete == 0;
42-
}, message, timeout ? timeout : 2000);
42+
if( eventsToComplete.length === 0 ) {
43+
clearInterval(to);
44+
done();
45+
}
46+
}, timeout ? timeout : 2000);
4347
}
4448
}
4549

@@ -64,8 +68,8 @@ describe("AngularFireAuth Test Suite", function() {
6468

6569
//We have this test first, to make sure that initial login state doesn't mess up the promise returned by
6670
//login.
67-
it("Email: failed login", function() {
68-
var waiter = new AsyncWaiter(["future_failed", "error_event"]);
71+
it("Email: failed login", function(done) {
72+
var waiter = new AsyncWaiter(done, ["future_failed", "error_event"]);
6973

7074
var loginFuture = ngSimpleLogin.$login("password", {
7175
@@ -91,8 +95,8 @@ describe("AngularFireAuth Test Suite", function() {
9195
});
9296

9397
//Ensure that getUserInfo gives us a null if we're logged out.
94-
it("getUserInfo() triggers promise and is initially null.", function() {
95-
var waiter = new AsyncWaiter();
98+
it("getUserInfo() triggers promise and is initially null.", function(done) {
99+
var waiter = new AsyncWaiter(done);
96100

97101
ngSimpleLogin.$getCurrentUser().then(function(info) {
98102
expect(info).toBe(null);
@@ -103,8 +107,8 @@ describe("AngularFireAuth Test Suite", function() {
103107
});
104108

105109
//Make sure logins to providers we haven't enabled fail.
106-
it("Failed Facebook login", function() {
107-
var waiter = new AsyncWaiter(["future_failed", "error_event"]);
110+
it("Failed Facebook login", function(done) {
111+
var waiter = new AsyncWaiter(done, ["future_failed", "error_event"]);
108112

109113
var loginFuture = ngSimpleLogin.$login("facebook");
110114

@@ -127,8 +131,8 @@ describe("AngularFireAuth Test Suite", function() {
127131
});
128132

129133
//Login successfully to a twitter account
130-
it("Successful Twitter login", function() {
131-
var waiter = new AsyncWaiter(["user_info", "login_event"]);
134+
it("Successful Twitter login", function(done) {
135+
var waiter = new AsyncWaiter(done, ["user_info", "login_event"]);
132136

133137
var loginFuture = ngSimpleLogin.$login("twitter");
134138

@@ -154,8 +158,8 @@ describe("AngularFireAuth Test Suite", function() {
154158
});
155159

156160
//Check that email login works
157-
it("Email: login", function() {
158-
var waiter = new AsyncWaiter(["future_success", "login_event"]);
161+
it("Email: login", function(done) {
162+
var waiter = new AsyncWaiter(done, ["future_success", "login_event"]);
159163

160164
var loginFuture = ngSimpleLogin.$login("password", existingUser);
161165

@@ -182,8 +186,8 @@ describe("AngularFireAuth Test Suite", function() {
182186
waiter.wait("email login success");
183187
});
184188

185-
it("getCurrentUser for logged-in state", function() {
186-
var waiter = new AsyncWaiter();
189+
it("getCurrentUser for logged-in state", function(done) {
190+
var waiter = new AsyncWaiter(done);
187191

188192
var promise = ngSimpleLogin.$getCurrentUser();
189193
promise.then(function(user) {
@@ -195,8 +199,8 @@ describe("AngularFireAuth Test Suite", function() {
195199
});
196200

197201
//Check to make sure logout works.
198-
it("Logout", function() {
199-
var waiter = new AsyncWaiter(["future", "event"]);
202+
it("Logout", function(done) {
203+
var waiter = new AsyncWaiter(done, ["future", "event"]);
200204

201205
ngSimpleLogin.$logout();
202206

@@ -217,8 +221,8 @@ describe("AngularFireAuth Test Suite", function() {
217221
});
218222

219223
//Ensure we properly handle errors on account creation.
220-
it("Email: failed account creation", function() {
221-
var waiter = new AsyncWaiter(["promise", "event"]);
224+
it("Email: failed account creation", function(done) {
225+
var waiter = new AsyncWaiter(done, ["promise", "event"]);
222226

223227
var promise = ngSimpleLogin.$createUser(existingUser.email, "xaaa");
224228
promise.then(function(user) {
@@ -238,8 +242,8 @@ describe("AngularFireAuth Test Suite", function() {
238242
});
239243

240244
//Test account creation.
241-
it("Email: account creation", function() {
242-
var waiter = new AsyncWaiter(["promise", "getuser"]);
245+
it("Email: account creation", function(done) {
246+
var waiter = new AsyncWaiter(done, ["promise", "getuser"]);
243247

244248
var accountEmail = "a" + Math.round(Math.random()*10000000000) + "@email.com";
245249

@@ -261,8 +265,8 @@ describe("AngularFireAuth Test Suite", function() {
261265
});
262266

263267
//Test logging into newly created user.
264-
it("Email: account creation with subsequent login", function() {
265-
var waiter = new AsyncWaiter(["promise", "login"]);
268+
it("Email: account creation with subsequent login", function(done) {
269+
var waiter = new AsyncWaiter(done, ["promise", "login"]);
266270
var promise = ngSimpleLogin.$createUser(newUserInf.email, newUserInf.password);
267271
promise.then(function(user) {
268272
expect(user.email).toBe(newUserInf.email);
@@ -280,8 +284,8 @@ describe("AngularFireAuth Test Suite", function() {
280284
});
281285

282286

283-
it("Email: failed change password", function() {
284-
var waiter = new AsyncWaiter(["promise", "event"]);
287+
it("Email: failed change password", function(done) {
288+
var waiter = new AsyncWaiter(done, ["promise", "event"]);
285289

286290
var promise = ngSimpleLogin.$changePassword(existingUser.email, "pxz", "sdf");
287291
promise.then(function() {
@@ -300,8 +304,8 @@ describe("AngularFireAuth Test Suite", function() {
300304
waiter.wait("failed change password", 2000);
301305
});
302306

303-
it("Email: change password", function() {
304-
var waiter = new AsyncWaiter(["fail", "succeed"]);
307+
it("Email: change password", function(done) {
308+
var waiter = new AsyncWaiter(done, ["fail", "succeed"]);
305309

306310
//this should fail
307311
ngSimpleLogin.$changePassword(newUserInf.email, "88dfhjgerqwqq", newUserInf.newPW).then(function(user) {
@@ -324,8 +328,8 @@ describe("AngularFireAuth Test Suite", function() {
324328
waiter.wait("change password", 2000);
325329
});
326330

327-
it("Email: remove user", function() {
328-
var waiter = new AsyncWaiter(["fail", "success"]);
331+
it("Email: remove user", function(done) {
332+
var waiter = new AsyncWaiter(done, ["fail", "success"]);
329333

330334
ngSimpleLogin.$removeUser(newUserInf.email + "x", newUserInf.newPW).then(function() {
331335
expect(true).toBe(false); //die
@@ -351,8 +355,8 @@ describe("AngularFireAuth Test Suite", function() {
351355
waiter.wait("removeuser fail and success");
352356
});
353357

354-
it("Email: reset password", function() {
355-
var waiter = new AsyncWaiter(["fail", "success"]);
358+
it("Email: reset password", function(done) {
359+
var waiter = new AsyncWaiter(done, ["fail", "success"]);
356360

357361
ngSimpleLogin.$sendPasswordResetEmail("[email protected]").then(function() {
358362
expect(true).toBe(false);

0 commit comments

Comments
 (0)