mirror of
https://github.com/ansible/awx.git
synced 2026-01-16 04:10:44 -03:30
add test for instance groups service
This commit is contained in:
parent
232c706b75
commit
df04660cdd
@ -1,5 +1,5 @@
|
||||
export default
|
||||
['$q', 'Rest', function($q, Rest) {
|
||||
['Rest', function(Rest) {
|
||||
return {
|
||||
addInstanceGroups: function(url, instance_groups) {
|
||||
let groups = (instance_groups || []);
|
||||
@ -67,7 +67,7 @@ export default
|
||||
// make the disassociate request sequence - we need to do these requests
|
||||
// sequentially to make sure they get processed in the right order so we
|
||||
// build a promise chain here instead of using .all()
|
||||
let disassociationPromise = $q.resolve();
|
||||
let disassociationPromise = Promise.resolve();
|
||||
groupsToDisassociate.forEach(data => {
|
||||
disassociationPromise = disassociationPromise.then(() => {
|
||||
Rest.setUrl(url);
|
||||
@ -81,7 +81,7 @@ export default
|
||||
// we need to do these requests sequentially to make sure they get
|
||||
// processed in the right order so we build a promise chain here
|
||||
// instead of using .all()
|
||||
let associationPromise = $q.resolve();
|
||||
let associationPromise = Promise.resolve();
|
||||
groupsToAssociate.forEach(data => {
|
||||
associationPromise = associationPromise.then(() => {
|
||||
Rest.setUrl(url);
|
||||
|
||||
@ -0,0 +1,73 @@
|
||||
'use strict';
|
||||
|
||||
const mockUrl = '';
|
||||
const mockSavedInstanceGroups = {
|
||||
data: {
|
||||
results: [
|
||||
{ id: 1 },
|
||||
{ id: 2 },
|
||||
{ id: 3 },
|
||||
{ id: 4 },
|
||||
{ id: 5 },
|
||||
{ id: 6 },
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const _postData = [];
|
||||
function MockRest() {
|
||||
return {
|
||||
setUrl (){},
|
||||
get () {
|
||||
return Promise.resolve(mockSavedInstanceGroups);
|
||||
},
|
||||
post (data) {
|
||||
_postData.push(data);
|
||||
return Promise.resolve({});
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
describe('instanceGroupsService', () => {
|
||||
let instanceGroupsService;
|
||||
|
||||
beforeEach(() => {
|
||||
angular.mock.module('awApp');
|
||||
angular.mock.module($provide => {
|
||||
$provide.service('Rest', MockRest);
|
||||
});
|
||||
angular.mock.module('instanceGroups');
|
||||
angular.mock.inject($injector => {
|
||||
instanceGroupsService = $injector.get('InstanceGroupsService');
|
||||
});
|
||||
});
|
||||
|
||||
describe('editInstanceGroups', () => {
|
||||
it('makes the expected requests', (done) => {
|
||||
const selectedInstanceGroups = [
|
||||
{ id: 1 },
|
||||
{ id: 2 },
|
||||
{ id: 4 },
|
||||
{ id: 5 },
|
||||
{ id: 6 },
|
||||
{ id: 7 },
|
||||
{ id: 3 },
|
||||
];
|
||||
instanceGroupsService.editInstanceGroups(mockUrl, selectedInstanceGroups)
|
||||
.then(() => {
|
||||
expect(_postData).toEqual([
|
||||
{ id: 3, disassociate: true },
|
||||
{ id: 4, disassociate: true },
|
||||
{ id: 5, disassociate: true },
|
||||
{ id: 6, disassociate: true },
|
||||
{ id: 4, associate: true },
|
||||
{ id: 5, associate: true },
|
||||
{ id: 6, associate: true },
|
||||
{ id: 7, associate: true },
|
||||
{ id: 3, associate: true },
|
||||
]);
|
||||
})
|
||||
.finally(() => done());
|
||||
});
|
||||
});
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user