mirror of
https://github.com/wkulhanek/bonob.git
synced 2025-12-21 17:33:29 +01:00
Disabled sonos should return false for all mutations
This commit is contained in:
@@ -198,7 +198,7 @@ describe("config", () => {
|
||||
"deviceDiscovery",
|
||||
"BONOB_SONOS_DEVICE_DISCOVERY",
|
||||
true,
|
||||
(config) => config.sonos.discovery.auto
|
||||
(config) => config.sonos.discovery.enabled
|
||||
);
|
||||
|
||||
describe("seedHost", () => {
|
||||
|
||||
@@ -75,41 +75,62 @@ describe("registrar", () => {
|
||||
(sonos as jest.Mock).mockReturnValue(fakeSonos);
|
||||
});
|
||||
|
||||
describe("seedHost", () => {
|
||||
describe("is specified", () => {
|
||||
it("should register using the seed host", async () => {
|
||||
fakeSonos.register.mockResolvedValue(true);
|
||||
const seedHost = "127.0.0.11";
|
||||
|
||||
expect(await registrar(bonobUrl, seedHost)()).toEqual(
|
||||
true
|
||||
);
|
||||
|
||||
expect(bonobService).toHaveBeenCalledWith(
|
||||
serviceDetails.name,
|
||||
serviceDetails.sid,
|
||||
bonobUrl
|
||||
);
|
||||
expect(sonos).toHaveBeenCalledWith({ enabled: true, seedHost });
|
||||
expect(fakeSonos.register).toHaveBeenCalledWith(service);
|
||||
});
|
||||
});
|
||||
|
||||
describe("is not specified", () => {
|
||||
it("should register without using the seed host", async () => {
|
||||
fakeSonos.register.mockResolvedValue(true);
|
||||
|
||||
expect(await registrar(bonobUrl)()).toEqual(
|
||||
true
|
||||
);
|
||||
|
||||
expect(bonobService).toHaveBeenCalledWith(
|
||||
serviceDetails.name,
|
||||
serviceDetails.sid,
|
||||
bonobUrl
|
||||
);
|
||||
expect(sonos).toHaveBeenCalledWith({ enabled: true });
|
||||
expect(fakeSonos.register).toHaveBeenCalledWith(service);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("when registration succeeds", () => {
|
||||
it("should fetch the service details and register", async () => {
|
||||
fakeSonos.register.mockResolvedValue(true);
|
||||
const sonosDiscovery = { auto: true };
|
||||
|
||||
expect(await registrar(bonobUrl, sonosDiscovery)()).toEqual(
|
||||
expect(await registrar(bonobUrl)()).toEqual(
|
||||
true
|
||||
);
|
||||
|
||||
expect(bonobService).toHaveBeenCalledWith(
|
||||
serviceDetails.name,
|
||||
serviceDetails.sid,
|
||||
bonobUrl
|
||||
);
|
||||
expect(sonos).toHaveBeenCalledWith(sonosDiscovery);
|
||||
expect(fakeSonos.register).toHaveBeenCalledWith(service);
|
||||
});
|
||||
});
|
||||
|
||||
describe("when registration fails", () => {
|
||||
it("should fetch the service details and register", async () => {
|
||||
fakeSonos.register.mockResolvedValue(false);
|
||||
const sonosDiscovery = { auto: false, seedHost: "192.168.1.163" };
|
||||
|
||||
expect(await registrar(bonobUrl, sonosDiscovery)()).toEqual(
|
||||
expect(await registrar(bonobUrl)()).toEqual(
|
||||
false
|
||||
);
|
||||
|
||||
expect(bonobService).toHaveBeenCalledWith(
|
||||
serviceDetails.name,
|
||||
serviceDetails.sid,
|
||||
bonobUrl
|
||||
);
|
||||
expect(sonos).toHaveBeenCalledWith(sonosDiscovery);
|
||||
expect(fakeSonos.register).toHaveBeenCalledWith(service);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -274,12 +274,13 @@ describe("sonos", () => {
|
||||
|
||||
describe("when is disabled", () => {
|
||||
it("should return a disabled client", async () => {
|
||||
const disabled = sonos({ auto: false });
|
||||
const disabled = sonos({ enabled: false });
|
||||
|
||||
expect(disabled).toEqual(SONOS_DISABLED);
|
||||
expect(await disabled.devices()).toEqual([]);
|
||||
expect(await disabled.services()).toEqual([]);
|
||||
expect(await disabled.register(aService())).toEqual(true);
|
||||
expect(await disabled.register(aService())).toEqual(false);
|
||||
expect(await disabled.remove(123)).toEqual(false);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -310,7 +311,7 @@ describe("sonos", () => {
|
||||
);
|
||||
sonosManager.InitializeWithDiscovery.mockResolvedValue(true);
|
||||
|
||||
const actualDevices = await sonos({ auto: true }).devices();
|
||||
const actualDevices = await sonos({ enabled: true }).devices();
|
||||
|
||||
expect(SonosManager).toHaveBeenCalledTimes(1);
|
||||
expect(sonosManager.InitializeWithDiscovery).toHaveBeenCalledWith(10);
|
||||
@@ -331,7 +332,7 @@ describe("sonos", () => {
|
||||
);
|
||||
sonosManager.InitializeWithDiscovery.mockResolvedValue(true);
|
||||
|
||||
const actualDevices = await sonos({ auto: true, seedHost: "" }).devices();
|
||||
const actualDevices = await sonos({ enabled: true, seedHost: "" }).devices();
|
||||
|
||||
expect(SonosManager).toHaveBeenCalledTimes(1);
|
||||
expect(sonosManager.InitializeWithDiscovery).toHaveBeenCalledWith(10);
|
||||
@@ -354,7 +355,7 @@ describe("sonos", () => {
|
||||
);
|
||||
sonosManager.InitializeFromDevice.mockResolvedValue(true);
|
||||
|
||||
const actualDevices = await sonos({ auto: true, seedHost }).devices();
|
||||
const actualDevices = await sonos({ enabled: true, seedHost }).devices();
|
||||
|
||||
expect(SonosManager).toHaveBeenCalledTimes(1);
|
||||
expect(sonosManager.InitializeFromDevice).toHaveBeenCalledWith(
|
||||
@@ -377,7 +378,7 @@ describe("sonos", () => {
|
||||
);
|
||||
sonosManager.InitializeWithDiscovery.mockResolvedValue(true);
|
||||
|
||||
const actualDevices = await sonos({ auto: true, seedHost: undefined }).devices();
|
||||
const actualDevices = await sonos({ enabled: true, seedHost: undefined }).devices();
|
||||
|
||||
expect(actualDevices).toEqual([
|
||||
{
|
||||
@@ -408,7 +409,7 @@ describe("sonos", () => {
|
||||
);
|
||||
sonosManager.InitializeWithDiscovery.mockResolvedValue(false);
|
||||
|
||||
expect(await sonos({ auto: true, seedHost: "" }).devices()).toEqual([]);
|
||||
expect(await sonos({ enabled: true, seedHost: "" }).devices()).toEqual([]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user