Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fake Server is a bridge between Jasmine and Sinon. It provides a simplified interface for mocking ajax requests with Sinon's fakeServer when writing tests with Jasmine.
branch: master

This branch is even with craigmaslowski:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
tests
.gitignore
README.md
fake.server.js

README.md

FakeServer

Fake Server is a bridge between Jasmine and Sinon which provides a simplified interface for creating and mocking ajax requests when writing tests with Jasmine.

// Create the fake server
var server = new FakeServer();

// Setup routes
server.routes([
    {
        url: '/myRoute',
        headers: {
            'Content-Type': 'text/html',
            'Custom-Header': 'Custom-Header-Value'
        },
        body: '<p>some html</p>'
    }
]);

describe('myRoute', function () {
    var response, jqXHR;

    beforeEach(function () {
        $.ajax({
            url: '/myRoute',
            success: function (resp, textStatus, jqxhr) {
                response = resp;
                jqXHR = jqxhr;

                // let FakeServer know the ajax call is complete
                server.complete();
            },
            error: {
                jqXHR = jqxhr;

                // let FakeServer know the ajax call is complete
                server.complete();
            }
        });
    });

    afterEach(function () {
        response = undefined;
        jqXHR = undefined;
    });

    it('should return some html', function () {
        // Test the response once the ajax call is completed
        server.respond(function () {
            expect(response).toBe('<p>some html</p>');
        });
    });
});
Something went wrong with that request. Please try again.