/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
export default function (type) {
return function (cb, withNspaces, withoutNspaces, container, assert) {
let CONSUL_NSPACES_ENABLED = true;
const env = container.owner.lookup('service:env');
env.var = function () {
return CONSUL_NSPACES_ENABLED;
};
const adapter = container.owner.lookup(`adapter:${type}`);
const serializer = container.owner.lookup(`serializer:${type}`);
const client = container.owner.lookup('service:client/http');
let actual;
actual = cb(adapter, serializer, client);
assert.deepEqual(actual[0], withNspaces);
CONSUL_NSPACES_ENABLED = false;
assert.deepEqual(actual[0], withoutNspaces);
}