You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
233 lines
6.7 KiB
233 lines
6.7 KiB
|
|
'use strict';
|
|
|
|
import Vue from 'vue';
|
|
import VueResource from 'vue-resource';
|
|
import { getMappings, getSourcesets, getTimesets,
|
|
getDestinationsets } from '../../src/api/call-forward';
|
|
import { assert } from 'chai';
|
|
|
|
Vue.use(VueResource);
|
|
|
|
describe('CallForward', function(){
|
|
|
|
const subscriberId = 123;
|
|
|
|
it('should get all call forward mappings', function(done){
|
|
|
|
let data = {
|
|
"cfb": [{
|
|
"destinationset": "quickset_cfb",
|
|
"destinationset_id": 3,
|
|
"sourceset": null,
|
|
"sourceset_id": null,
|
|
"timeset": null,
|
|
"timeset_id": null
|
|
}],
|
|
"cfna": [{
|
|
"destinationset": "quickset_cfna",
|
|
"destinationset_id": 5,
|
|
"sourceset": null,
|
|
"sourceset_id": null,
|
|
"timeset": null,
|
|
"timeset_id": null
|
|
}],
|
|
"cfs": [],
|
|
"cft": [],
|
|
"cft_ringtimeout": null,
|
|
"cfu": [{
|
|
"destinationset": "quickset_cfu",
|
|
"destinationset_id": 1,
|
|
"sourceset": null,
|
|
"sourceset_id": null,
|
|
"timeset": null,
|
|
"timeset_id": null
|
|
}],
|
|
"id": 233
|
|
};
|
|
|
|
Vue.http.interceptors = [];
|
|
Vue.http.interceptors.unshift((request, next)=>{
|
|
next(request.respondWith(JSON.stringify(data), {
|
|
status: 200
|
|
}));
|
|
});
|
|
getMappings(subscriberId).then((result)=>{
|
|
assert.deepEqual(result, data);
|
|
done();
|
|
}).catch((err)=>{
|
|
done(err);
|
|
});
|
|
});
|
|
|
|
it('should get all call forward sourcesets', function(done){
|
|
|
|
let innerData = [{
|
|
"_links": {
|
|
"collection": {
|
|
"href": "/api/cfsourcesets/"
|
|
},
|
|
"curies": {
|
|
"href": "http://purl.org/sipwise/ngcp-api/#rel-{rel}",
|
|
"name": "ngcp",
|
|
"templated": true
|
|
},
|
|
"ngcp:subscribers": {
|
|
"href": "/api/subscribers/233"
|
|
},
|
|
"profile": {
|
|
"href": "http://purl.org/sipwise/ngcp-api/"
|
|
},
|
|
"self": {
|
|
"href": "/api/cfsourcesets/3"
|
|
}
|
|
},
|
|
"id": 3,
|
|
"mode": "whitelist",
|
|
"name": "sffsdg",
|
|
"sources": [{
|
|
"source": "3423"
|
|
}],
|
|
"subscriber_id": 233
|
|
}];
|
|
let data = {
|
|
"_embedded": {
|
|
"ngcp:cfsourcesets": innerData
|
|
},
|
|
"total_count": 10
|
|
};
|
|
|
|
Vue.http.interceptors = [];
|
|
Vue.http.interceptors.unshift((request, next)=>{
|
|
next(request.respondWith(JSON.stringify(data), {
|
|
status: 200
|
|
}));
|
|
});
|
|
getSourcesets(subscriberId).then((result)=>{
|
|
assert.deepEqual(result, innerData);
|
|
done();
|
|
}).catch((err)=>{
|
|
done(err);
|
|
});
|
|
});
|
|
|
|
it('should get all call forward timesets', function(done){
|
|
|
|
let innerData = [{
|
|
"_links": {
|
|
"collection": {
|
|
"href": "/api/cftimesets/"
|
|
},
|
|
"curies": {
|
|
"href": "http://purl.org/sipwise/ngcp-api/#rel-{rel}",
|
|
"name": "ngcp",
|
|
"templated": true
|
|
},
|
|
"ngcp:cftimesets": {
|
|
"href": "/api/cftimesets/1"
|
|
},
|
|
"ngcp:journal": {
|
|
"href": "/api/cftimesets/1/journal/"
|
|
},
|
|
"ngcp:subscribers": {
|
|
"href": "/api/subscribers/233"
|
|
},
|
|
"profile": {
|
|
"href": "http://purl.org/sipwise/ngcp-api/"
|
|
},
|
|
"self": {
|
|
"href": "/api/cftimesets/1"
|
|
}
|
|
},
|
|
"id": 1,
|
|
"name": "efsgfseg",
|
|
"subscriber_id": 233,
|
|
"times": [{
|
|
"hour": null,
|
|
"mday": null,
|
|
"minute": null,
|
|
"month": null,
|
|
"wday": "2-3",
|
|
"year": null
|
|
}]
|
|
}];
|
|
let data = {
|
|
"_embedded": {
|
|
"ngcp:cftimesets": innerData
|
|
},
|
|
"total_count": 10
|
|
};
|
|
|
|
Vue.http.interceptors = [];
|
|
Vue.http.interceptors.unshift((request, next)=>{
|
|
next(request.respondWith(JSON.stringify(data), {
|
|
status: 200
|
|
}));
|
|
});
|
|
getTimesets(subscriberId).then((result)=>{
|
|
assert.deepEqual(result, innerData);
|
|
done();
|
|
}).catch((err)=>{
|
|
done(err);
|
|
});
|
|
});
|
|
|
|
it('should get all call forward destinationsets', function(done){
|
|
|
|
let innerData = [{
|
|
"_links": {
|
|
"collection": {
|
|
"href": "/api/cfdestinationsets/"
|
|
},
|
|
"curies": {
|
|
"href": "http://purl.org/sipwise/ngcp-api/#rel-{rel}",
|
|
"name": "ngcp",
|
|
"templated": true
|
|
},
|
|
"ngcp:journal": {
|
|
"href": "/api/cfdestinationsets/1/journal/"
|
|
},
|
|
"ngcp:subscribers": {
|
|
"href": "/api/subscribers/233"
|
|
},
|
|
"profile": {
|
|
"href": "http://purl.org/sipwise/ngcp-api/"
|
|
},
|
|
"self": {
|
|
"href": "/api/cfdestinationsets/1"
|
|
}
|
|
},
|
|
"destinations": [{
|
|
"announcement_id": null,
|
|
"destination": "sip:24234234@192.168.178.23",
|
|
"priority": 1,
|
|
"simple_destination": "24234234",
|
|
"timeout": 300
|
|
}],
|
|
"id": 1,
|
|
"name": "quickset_cfu",
|
|
"subscriber_id": 233
|
|
}];
|
|
let data = {
|
|
"_embedded": {
|
|
"ngcp:cfdestinationsets": innerData
|
|
},
|
|
"total_count": 10
|
|
};
|
|
|
|
Vue.http.interceptors = [];
|
|
Vue.http.interceptors.unshift((request, next)=>{
|
|
next(request.respondWith(JSON.stringify(data), {
|
|
status: 200
|
|
}));
|
|
});
|
|
getDestinationsets(subscriberId).then((result)=>{
|
|
assert.deepEqual(result, innerData);
|
|
done();
|
|
}).catch((err)=>{
|
|
done(err);
|
|
});
|
|
});
|
|
|
|
});
|