Skip to content

Commit efc9372

Browse files
committed
authentication tests
1 parent a5f80b6 commit efc9372

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

test/helpers/fixtures.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// API Responses
2+
3+
var Fixtures = {
4+
signup: function() {
5+
return {
6+
"id": 123,
7+
"token": "d3f4g5h67j8",
8+
"username": "tester",
9+
};
10+
},
11+
12+
home: function() {
13+
return {
14+
username: 'tester',
15+
posts: [
16+
{ id: 1, content: "post1", username: "tester" },
17+
{ id: 2, content: "post2", username: "tester" }
18+
]
19+
};
20+
},
21+
22+
error: function(message, status, key, code) {
23+
return {
24+
status: (status ? status : 422),
25+
body: {
26+
error: message
27+
}
28+
29+
};
30+
}
31+
32+
};
33+
34+
module.exports = Fixtures;
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import it from '../helpers/appium';
2+
import server from '../helpers/server';
3+
import fixtures from '../helpers/fixtures';
4+
5+
describe("Authentication", () => {
6+
beforeEach(() => {
7+
server.get("/api/posts/tester", fixtures.home());
8+
});
9+
10+
it("should sign up the user and show dashboard", function* (driver, done) {
11+
server.post("api/signup", fixtures.signup());
12+
13+
var username = yield driver.elementById('Username');
14+
var password = yield driver.elementById('Password');
15+
var button = yield driver.elementById('Sign up');
16+
yield username.setImmediateValue("tester");
17+
yield password.setImmediateValue("sample");
18+
yield button.click();
19+
20+
// make sure logged in
21+
yield driver.elementById('Dashboard');
22+
yield driver.elementById('post1');
23+
24+
done();
25+
});
26+
27+
it("should log in and out", function* (driver, done) {
28+
server.post("api/login", fixtures.signup());
29+
30+
yield driver.elementById('Already a user? Login here.').click();
31+
32+
var username = yield driver.elementById('Username');
33+
var password = yield driver.elementById('Password');
34+
var button = yield driver.elementById('Log in');
35+
yield username.setImmediateValue("tester");
36+
yield password.setImmediateValue("sample");
37+
yield button.click();
38+
39+
// make sure logged in
40+
yield driver.elementById('Dashboard');
41+
yield driver.elementById('post1');
42+
43+
// show settings, log out
44+
yield driver.elementByXPath('//UIAApplication[1]/UIAWindow[1]/UIAElement[4]').click(); // "Me"
45+
yield driver.elementById('Settings');
46+
yield driver.elementById('Log out').click();
47+
48+
// back on signup
49+
yield driver.elementById('Already a user? Login here.');
50+
51+
done();
52+
});
53+
54+
});

0 commit comments

Comments
 (0)