@bigtest/mirage
Version:
A client-side server to develop, test and prototype your app.
135 lines (112 loc) • 2.44 kB
JavaScript
import {module, test} from 'qunit';
import {Server, Model} from '@bigtest/mirage';
import $ from 'jquery';
module('Integration | HTTP Verbs', {
beforeEach() {
this.server = new Server({
environment: 'development',
models: {
contact: Model
}
});
this.server.timing = 0;
this.server.logging = false;
},
afterEach() {
this.server.shutdown();
}
});
test('mirage responds to get', function(assert) {
assert.expect(1);
let done = assert.async();
this.server.get('/contacts', function() {
return true;
});
$.ajax({
method: 'GET',
url: '/contacts'
}).done(function(res) {
assert.equal(res, true);
done();
});
});
test('mirage responds to post', function(assert) {
assert.expect(1);
let done = assert.async();
this.server.post('/contacts', function() {
return true;
});
$.ajax({
method: 'POST',
url: '/contacts'
}).done(function(res) {
assert.equal(res, true);
done();
});
});
test('mirage responds to put', function(assert) {
assert.expect(1);
let done = assert.async();
this.server.put('/contacts', function() {
return true;
});
$.ajax({
method: 'PUT',
url: '/contacts'
}).done(function(res) {
assert.equal(res, true);
done();
});
});
test('mirage responds to delete', function(assert) {
assert.expect(1);
let done = assert.async();
this.server.delete('/contacts', function() {
return true;
});
$.ajax({
method: 'DELETE',
url: '/contacts'
}).done(function(res) {
assert.equal(res, true);
done();
});
});
test('mirage responds to patch', function(assert) {
assert.expect(1);
let done = assert.async();
this.server.patch('/contacts', function() {
return true;
});
$.ajax({
method: 'PATCH',
url: '/contacts'
}).done(function(res) {
assert.equal(res, true);
done();
});
});
test('mirage responds to resource', function(assert) {
assert.expect(0);
let done = assert.async();
this.server.resource('contacts');
$.ajax({
method: 'GET',
url: '/contacts'
}).done(function() {
done();
});
});
test('response code can be customized', function(assert) {
assert.expect(1);
let done = assert.async();
this.server.get('/contacts', {}, 404);
$.ajax({
method: 'GET',
url: '/contacts',
complete: function(res) {
assert.ok(res.status, 404);
done();
}
});
});