Skip to content

Commit c6a4172

Browse files
committed
Merge branch 'feature/refactor-tests' into dev
2 parents 4e773ca + 0185dc7 commit c6a4172

File tree

16 files changed

+454
-256
lines changed

16 files changed

+454
-256
lines changed

specs/endToEnd/apis/locale.js

Lines changed: 24 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import chai from 'chai';
2-
import request from 'superagent';
2+
import { apiEngine } from '../../utils';
3+
import localeAPI from '../../../build/common/api/locale';
34
import async from 'async';
4-
import constants from '../../constants';
55
import Errors from '../../../build/common/constants/Errors';
66
let expect = chai.expect;
77

8-
describe('#locale', () => {
8+
describe('#localeAPI', () => {
99
let validLocales = [
1010
'en-us',
1111
'zh-tw',
@@ -17,42 +17,29 @@ describe('#locale', () => {
1717
'fuck you',
1818
];
1919

20-
describe('#Unauthorized User', () => {
21-
// GET /api/locale/{validLocaleName}
22-
describe('GET /api/locales/{validLocaleName}', () => {
23-
it('should download valid locale', (done) => {
24-
async.eachSeries(validLocales, (validLocale, cb) => {
25-
request
26-
.get(constants.BASE + '/api/locales/' + validLocale)
27-
.end((err, res) => {
28-
expect(err).to.equal(null);
29-
expect(res).to.not.be.undefined;
30-
expect(res.status).to.equal(200);
31-
expect(res.body.errors).to.be.undefined;
32-
expect(res.body.locale).to.equal(validLocale);
33-
expect(res.body.messages).to.be.an('object');
34-
cb();
35-
});
36-
}, done);
37-
});
20+
describe('#read()', () => {
21+
it('should download valid locale', (done) => {
22+
async.eachSeries(validLocales, (validLocale, cb) => {
23+
localeAPI(apiEngine)
24+
.read(validLocale)
25+
.then((json) => {
26+
expect(json.locale).to.equal(validLocale);
27+
expect(json.messages).to.be.an('object');
28+
cb();
29+
});
30+
}, done);
3831
});
3932

40-
// GET /api/locale/{invalidLocaleName}
41-
describe('GET /api/locales/{invalidLocaleName}', () => {
42-
it('should reject invalid locale', (done) => {
43-
async.eachSeries(invalidLocales, (invalidLocale, cb) => {
44-
request
45-
.get(constants.BASE + '/api/locales/' + invalidLocale)
46-
.end((err, res) => {
47-
expect(err).to.equal(null);
48-
expect(res).to.not.be.undefined;
49-
expect(res.status).to.equal(200);
50-
expect(res.body.errors[0].code)
51-
.to.equal(Errors.LOCALE_NOT_SUPPORTED.code);
52-
cb();
53-
});
54-
}, done);
55-
});
33+
it('should reject invalid locale', (done) => {
34+
async.eachSeries(invalidLocales, (invalidLocale, cb) => {
35+
localeAPI(apiEngine)
36+
.read(invalidLocale)
37+
.catch((err) => {
38+
expect(err[0].code)
39+
.to.equal(Errors.LOCALE_NOT_SUPPORTED.code);
40+
cb();
41+
});
42+
}, done);
5643
});
5744
});
5845
});

specs/endToEnd/apis/todo.js

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,46 @@
11
import chai from 'chai';
2-
import request from 'superagent';
2+
import { apiEngine } from '../../utils';
3+
import todoAPI from '../../../build/common/api/todo';
34
import async from 'async';
4-
import constants from '../../constants';
55
import Todo from '../../../build/server/models/Todo';
66
let expect = chai.expect;
77

8-
describe('#todo', () => {
8+
describe('#todoAPI', () => {
99
let fakeTodos = [{
1010
text: 'this is a fake todo text',
1111
}, {
1212
text: 'foo',
1313
}, {
1414
text: '~bar~',
1515
}];
16-
let resTodos = [];
1716

1817
before((done) => {
1918
Todo.remove({}, done);
2019
});
2120

22-
describe('#Unauthorized User', () => {
23-
// POST /api/todo
24-
describe('POST /api/todos', () => {
25-
it('should create todo', (done) => {
26-
async.eachSeries(fakeTodos, (fakeTodo, cb) => {
27-
request
28-
.post(constants.BASE + '/api/todos')
29-
.send(fakeTodo)
30-
.end((err, res) => {
31-
expect(err).to.equal(null);
32-
expect(res).to.not.be.undefined;
33-
expect(res.status).to.equal(200);
34-
expect(res.body.errors).to.be.undefined;
35-
expect(res.body.todo).to.be.an('object');
36-
expect(res.body.todo.text).to.equal(fakeTodo.text);
37-
resTodos.push(res.body.todo);
38-
cb();
39-
});
40-
}, done);
41-
});
21+
describe('#create()', () => {
22+
it('should create todo', (done) => {
23+
async.eachSeries(fakeTodos, (fakeTodo, cb) => {
24+
todoAPI(apiEngine)
25+
.create(fakeTodo)
26+
.then((json) => {
27+
expect(json.todo).to.be.an('object');
28+
expect(json.todo.text).to.equal(fakeTodo.text);
29+
cb();
30+
});
31+
}, done);
4232
});
33+
});
4334

44-
// GET /api/todo
45-
describe('GET /api/todos', () => {
46-
it('should list todos', (done) => {
47-
request
48-
.get(constants.BASE + '/api/todos')
49-
.end((err, res) => {
50-
expect(err).to.equal(null);
51-
expect(res).to.not.be.undefined;
52-
expect(res.status).to.equal(200);
53-
expect(res.body.errors).to.be.undefined;
54-
expect(res.body.todos).to.be.an('array');
55-
expect(res.body.todos.length).to.equal(fakeTodos.length);
56-
done();
57-
});
58-
});
35+
describe('#list()', () => {
36+
it('should list todos', (done) => {
37+
todoAPI(apiEngine)
38+
.list({ page: 1 })
39+
.then((json) => {
40+
expect(json.todos).to.be.an('array');
41+
expect(json.todos).to.have.lengthOf(fakeTodos.length);
42+
done();
43+
});
5944
});
6045
});
6146

0 commit comments

Comments
 (0)