1 |
|
2 |
|
3 | var CodeGradX = require('../codegradxlib.js');
|
4 | var authData = require('./auth1-data.json');
|
5 |
|
6 | describe('CodeGradX', function () {
|
7 |
|
8 | it('should be loaded', function () {
|
9 | expect(CodeGradX).toBeDefined();
|
10 | });
|
11 |
|
12 | function make_faildone (done) {
|
13 | return function faildone (reason) {
|
14 | var state = CodeGradX.getCurrentState();
|
15 | state.debug('faildone', reason).show();
|
16 |
|
17 | fail(reason);
|
18 | done();
|
19 | };
|
20 | }
|
21 |
|
22 | it("really authenticate and check", function (done) {
|
23 | var state = new CodeGradX.State();
|
24 | var faildone = make_faildone(done);
|
25 | state.getAuthenticatedUser(authData.login, authData.password)
|
26 | .then(function (user) {
|
27 | expect(user).toBeDefined();
|
28 | expect(user).toBe(state.currentUser);
|
29 | CodeGradX.getCurrentUser()
|
30 | .then(function (user2) {
|
31 | expect(user2).toBe(user);
|
32 | done();
|
33 | }).catch(faildone);
|
34 | }, faildone);
|
35 | });
|
36 |
|
37 | function hash2array (o) {
|
38 | let result = [];
|
39 | Object.keys(o).forEach((key) => {
|
40 | result.push(o[key]);
|
41 | });
|
42 | return result;
|
43 | }
|
44 |
|
45 | it("get campaigns", function (done) {
|
46 | var faildone = make_faildone(done);
|
47 | CodeGradX.getCurrentUser()
|
48 | .then(function (user) {
|
49 | return user.getCampaigns()
|
50 | .then(function (campaigns) {
|
51 |
|
52 | expect(campaigns).toBeDefined();
|
53 | expect(campaigns instanceof Object).toBeTruthy();
|
54 | expect(campaigns.checks).toBeDefined();
|
55 | expect(campaigns.free).toBeDefined();
|
56 | expect(hash2array(campaigns).length).toBeGreaterThan(2);
|
57 | done();
|
58 | });
|
59 | }).catch(faildone);
|
60 | });
|
61 |
|
62 | it("get a campaign (after campaigns)", function (done) {
|
63 | var faildone = make_faildone(done);
|
64 | CodeGradX.getCurrentUser()
|
65 | .then(function (user) {
|
66 | return user.getCampaign('free')
|
67 | .then(function (campaign) {
|
68 |
|
69 | expect(campaign).toBeDefined();
|
70 | expect(campaign instanceof Object).toBeTruthy();
|
71 | expect(campaign.name).toBe('free');
|
72 | done();
|
73 | });
|
74 | }).catch(faildone);
|
75 | });
|
76 |
|
77 | });
|