import { moduleFor, test } from 'ember-qunit'; import repo from 'consul-ui/tests/helpers/repo'; moduleFor('service:acls', 'Integration | Service | acls', { // Specify the other units that are required for this test. needs: ['service:store', 'model:acl', 'adapter:acl', 'serializer:acl', 'service:settings'], }); const dc = 'dc-1'; const id = 'token-name'; test('findByDatacenter returns the correct data for list endpoint', function(assert) { return repo( 'Acl', 'findAllByDatacenter', this.subject(), function retrieveStub(stub) { return stub(`/v1/acl/list?dc=${dc}`, { CONSUL_ACL_COUNT: '100', }); }, function performTest(service) { return service.findAllByDatacenter(dc); }, function performAssertion(actual, expected) { assert.deepEqual( actual, expected(function(payload) { return payload.map(item => Object.assign({}, item, { Datacenter: dc, uid: `["${dc}","${item.ID}"]`, }) ); }) ); } ); }); test('findBySlug returns the correct data for item endpoint', function(assert) { return repo( 'Acl', 'findBySlug', this.subject(), function retrieveStub(stub) { return stub(`/v1/acl/info/${id}?dc=${dc}`); }, function performTest(service) { return service.findBySlug(id, dc); }, function performAssertion(actual, expected) { assert.deepEqual( actual, expected(function(payload) { const item = payload[0]; return Object.assign({}, item, { Datacenter: dc, uid: `["${dc}","${item.ID}"]`, }); }) ); } ); });