-
Notifications
You must be signed in to change notification settings - Fork 39
/
module-for-acceptance.js
48 lines (44 loc) · 1.61 KB
/
module-for-acceptance.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { module } from 'qunit';
import Ember from 'ember';
import startApp from '../helpers/start-app';
import destroyApp from '../helpers/destroy-app';
import FactoryGuy, { manualSetup } from 'ember-data-factory-guy';
import config from 'ember-get-config';
import FakeServer, { stubRequest } from 'ember-cli-fake-server';
const { RSVP: { Promise } } = Ember;
export default function(name, options = {}) {
module(name, {
beforeEach() {
this.application = startApp();
FakeServer.start();
manualSetup(this.application.__container__);
const url = config.OSF.apiUrl;
const provider = FactoryGuy.build('preprint-provider');
stubRequest('get', url + '/v2/users/me', (request) => {
request.unauthorized({});
});
stubRequest('get', url + '/v2/preprint_providers', (request) => {
request.ok({data: [{
attributes: provider.data.attributes,
type: "preprint_providers",
id: "osf"
}]});
});
stubRequest('get', url + '/v2/preprint_providers/osf', (request) => {
request.ok({data: {
attributes: provider.data.attributes,
type: "preprint_providers",
id: "osf"
}});
});
if (options.beforeEach) {
return options.beforeEach.apply(this, arguments);
}
},
afterEach() {
FakeServer.stop();
let afterEach = options.afterEach && options.afterEach.apply(this, arguments);
return Promise.resolve(afterEach).then(() => destroyApp(this.application));
}
});
}