application/__tests__/services/base-service-test.js
- jest.unmock('./../../services/base-service');
- jest.unmock('./../../util/mock-fetch');
- jest.unmock('./../../util/strings');
-
- jest.unmock('./../../alt');
-
- import React from 'react';
- import ReactDOM from 'react-dom';
- import TestUtils from 'react-addons-test-utils';
- import Immutable from 'immutable';
- import sinon from 'sinon';
- import AltTestingUtils from 'alt-utils/lib/AltTestingUtils';
-
- import alt from './../../alt';
- import BaseService from './../../services/base-service';
- import fetch from './../../util/mock-fetch';
-
- describe('BaseService', () => {
-
- it('calls get', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }]));
-
- const base = new BaseService;
-
- base.get('/foo/fraz', {'content': 'fraz'}).then(() => {
- expect(window.fetch.called).toEqual(true);
- expect(window.fetch.getCalls()[0].args[0]).toEqual('/foo/fraz?content=fraz');
-
- const params = window.fetch.getCalls()[0].args[1];
- expect(params.headers.Authorization).toEqual('Basic ' + btoa('1:'));
-
- window.fetch.restore();
- done();
- });
- });
-
- it('calls post', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }]));
-
- const base = new BaseService;
-
- base.post('/foo/fraz', {'content': 'fraz'}).then(() => {
- expect(window.fetch.called).toEqual(true);
- expect(window.fetch.getCalls()[0].args[0]).toEqual('/foo/fraz');
-
- const params = window.fetch.getCalls()[0].args[1];
- expect(params.headers.Authorization).toEqual('Basic ' + btoa('1:'));
- expect(params.method).toEqual('post');
- expect(params.body).toEqual('{"content":"fraz"}');
-
- window.fetch.restore();
- done();
- });
- });
-
- it('calls post with params', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }]));
-
- const base = new BaseService;
-
- base.post('/foo/fraz', {'content': 'fraz'}, {'getparam': 'foo'}).then(() => {
- expect(window.fetch.called).toEqual(true);
- expect(window.fetch.getCalls()[0].args[0]).toEqual('/foo/fraz?getparam=foo');
-
- const params = window.fetch.getCalls()[0].args[1];
- expect(params.headers.Authorization).toEqual('Basic ' + btoa('1:'));
- expect(params.method).toEqual('post');
- expect(params.body).toEqual('{"content":"fraz"}');
-
- window.fetch.restore();
- done();
- });
- });
-
- it('calls put', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }]));
-
- const base = new BaseService;
-
- base.put('/foo/fraz', {'content': 'fraz'}).then(() => {
- expect(window.fetch.called).toEqual(true);
- expect(window.fetch.getCalls()[0].args[0]).toEqual('/foo/fraz');
-
- const params = window.fetch.getCalls()[0].args[1];
- expect(params.headers.Authorization).toEqual('Basic ' + btoa('1:'));
- expect(params.method).toEqual('put');
- expect(params.body).toEqual('{"content":"fraz"}');
-
- window.fetch.restore();
- done();
- });
- });
-
- it('calls delete', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }]));
-
- const base = new BaseService;
-
- base.delete('/foo/fraz').then(() => {
- expect(window.fetch.called).toEqual(true);
- expect(window.fetch.getCalls()[0].args[0]).toEqual('/foo/fraz');
-
- const params = window.fetch.getCalls()[0].args[1];
- expect(params.headers.Authorization).toEqual('Basic ' + btoa('1:'));
- expect(params.method).toEqual('delete');
-
- window.fetch.restore();
- done();
- });
- });
-
- it('throws exception on get', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }], 400));
-
- const base = new BaseService;
-
- base.get('/foo/fraz').then(() => {
- expect(window.fetch.called).toEqual(true);
- }).catch((e) => {
- expect(e);
- window.fetch.restore();
- done();
- });
- });
-
- it('throws exception on post', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }], 400));
-
- const base = new BaseService;
-
- base.post('/foo/fraz').then(() => {
- expect(window.fetch.called).toEqual(true);
- }).catch((e) => {
- expect(e);
- window.fetch.restore();
- done();
- });
- });
-
- it('throws exception on put', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }], 400));
-
- const base = new BaseService;
-
- base.put('/foo/fraz').then(() => {
- expect(window.fetch.called).toEqual(true);
- }).catch((e) => {
- expect(e);
- window.fetch.restore();
- done();
- });
- });
-
- it('throws exception on delete', (done) => {
- sinon.stub(window, 'fetch').returns(fetch([{
- id: 1,
- user_id: 2,
- content_id: 3,
- content: 'this is a test'
- }], 400));
-
- const base = new BaseService;
-
- base.delete('/foo/fraz').then(() => {
- expect(window.fetch.called).toEqual(true);
- }).catch((e) => {
- expect(e);
- window.fetch.restore();
- done();
- });
- });
- });