diff --git a/src/data/fixtures/user-fixtures.js b/src/data/fixtures/user-fixtures.js index b280ec80..96ca73d2 100644 --- a/src/data/fixtures/user-fixtures.js +++ b/src/data/fixtures/user-fixtures.js @@ -2,9 +2,25 @@ module.exports = [ { path: 'user/login', time: 1000, - response: { - 'userId': 12, - 'token': 'cc6b4921e6733d6aafe284ec0d7be57e' + response: function (data) { + let response; + + if (data.password === 'invalid') { + response = { + status: 'fail', + message: 'Invalid Credientals' + }; + } else { + response = { + status: 'success', + data: { + 'userId': 12, + 'token': 'cc6b4921e6733d6aafe284ec0d7be57e' + } + } + } + + return response; } } ]; diff --git a/src/lib-app/fixtures-loader.js b/src/lib-app/fixtures-loader.js index 4f2ae3bd..76856ec0 100644 --- a/src/lib-app/fixtures-loader.js +++ b/src/lib-app/fixtures-loader.js @@ -7,9 +7,7 @@ let fixtures = (function () { return { add(fixtures) { - fixtures.forEach((fixture) => { - fixturesData.push(fixture); - }); + fixturesData = fixturesData.concat(fixtures); }, getAll() { return fixturesData; @@ -25,6 +23,8 @@ _.each(fixtures.getAll(), function (fixture) { contentType: 'application/json', url: 'http://localhost:3000/api/' + fixture.path, responseTime: fixture.time || 500, - responseText: fixture.response + response: function (settings) { + this.responseText = fixture.response(settings.data) + } }); });