diff --git a/__test__/compose/network/network-service.test.ts b/__test__/compose/network/network-service.test.ts index 92df7a73..d592811b 100644 --- a/__test__/compose/network/network-service.test.ts +++ b/__test__/compose/network/network-service.test.ts @@ -79,10 +79,11 @@ test("Add prefix to networks in services with aliases", () => { `frontend-${prefix}`, ); - const networkConfig = - actualComposeData?.services?.api?.networks[`frontend-${prefix}`]; - expect(networkConfig).toBeDefined(); - expect(networkConfig?.aliases).toContain("api"); + const networkConfig = actualComposeData?.services?.api?.networks as { + [key: string]: { aliases?: string[] }; + }; + expect(networkConfig[`frontend-${prefix}`]).toBeDefined(); + expect(networkConfig[`frontend-${prefix}`]?.aliases).toContain("api"); expect(actualComposeData.services?.api?.networks).not.toHaveProperty( "frontend-ash", @@ -169,7 +170,9 @@ test("Add prefix to networks in services (combined case)", () => { ); // Caso 2: Objeto con aliases - const apiNetworks = actualComposeData.services?.api?.networks; + const apiNetworks = actualComposeData.services?.api?.networks as { + [key: string]: unknown; + }; expect(apiNetworks).toHaveProperty(`frontend-${prefix}`); expect(apiNetworks[`frontend-${prefix}`]).toBeDefined(); expect(apiNetworks).not.toHaveProperty("frontend"); diff --git a/__test__/compose/network/network.test.ts b/__test__/compose/network/network.test.ts index ae938775..f86cabfd 100644 --- a/__test__/compose/network/network.test.ts +++ b/__test__/compose/network/network.test.ts @@ -76,9 +76,11 @@ test("Add prefix to networks in services and root (combined case)", () => { ); // Caso 2: Objeto con aliases - const apiNetworks = actualComposeData.services?.api?.networks; + const apiNetworks = actualComposeData.services?.api?.networks as { + [key: string]: { aliases?: string[] }; + }; expect(apiNetworks).toHaveProperty(`frontend-${prefix}`); - expect(apiNetworks[`frontend-${prefix}`]?.aliases).toContain("api"); + expect(apiNetworks?.[`frontend-${prefix}`]?.aliases).toContain("api"); expect(apiNetworks).not.toHaveProperty("frontend"); // Caso 3: Objeto con redes simples diff --git a/__test__/compose/service/service-container-name.test.ts b/__test__/compose/service/service-container-name.test.ts index 9e3bfa80..9f5fe9ed 100644 --- a/__test__/compose/service/service-container-name.test.ts +++ b/__test__/compose/service/service-container-name.test.ts @@ -42,7 +42,7 @@ test("Add prefix to service names with container_name in compose file", () => { const actualComposeData = { ...composeData, services: updatedComposeData }; // Verificar que el nombre del contenedor ha cambiado correctamente - expect(actualComposeData.services[`web-${prefix}`].container_name).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.container_name).toBe( `web_container-${prefix}`, ); // Verificar que la nueva clave del servicio tiene el prefijo y la vieja clave no existe @@ -50,10 +50,10 @@ test("Add prefix to service names with container_name in compose file", () => { expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); }); diff --git a/__test__/compose/service/service-depends-on.test.ts b/__test__/compose/service/service-depends-on.test.ts index cf4ca132..e339ee65 100644 --- a/__test__/compose/service/service-depends-on.test.ts +++ b/__test__/compose/service/service-depends-on.test.ts @@ -51,30 +51,30 @@ test("Add prefix to service names with depends_on (array) in compose file", () = expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); // Verificar que los nombres en depends_on tienen el prefijo - expect(actualComposeData.services[`web-${prefix}`].depends_on).toContain( + expect(actualComposeData.services?.[`web-${prefix}`]?.depends_on).toContain( `db-${prefix}`, ); - expect(actualComposeData.services[`web-${prefix}`].depends_on).toContain( + expect(actualComposeData.services?.[`web-${prefix}`]?.depends_on).toContain( `api-${prefix}`, ); // Verificar que los servicios `db` y `api` también tienen el prefijo expect(actualComposeData.services).toHaveProperty(`db-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("db"); - expect(actualComposeData.services[`db-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`db-${prefix}`]?.image).toBe( "postgres:latest", ); expect(actualComposeData.services).toHaveProperty(`api-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("api"); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); }); @@ -121,16 +121,16 @@ test("Add prefix to service names with depends_on (object) in compose file", () expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); // Verificar que los nombres en depends_on tienen el prefijo - const webDependsOn = actualComposeData.services[`web-${prefix}`] - .depends_on as Record; + const webDependsOn = actualComposeData.services?.[`web-${prefix}`] + ?.depends_on as Record; expect(webDependsOn).toHaveProperty(`db-${prefix}`); expect(webDependsOn).toHaveProperty(`api-${prefix}`); expect(webDependsOn[`db-${prefix}`].condition).toBe("service_healthy"); @@ -139,12 +139,12 @@ test("Add prefix to service names with depends_on (object) in compose file", () // Verificar que los servicios `db` y `api` también tienen el prefijo expect(actualComposeData.services).toHaveProperty(`db-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("db"); - expect(actualComposeData.services[`db-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`db-${prefix}`]?.image).toBe( "postgres:latest", ); expect(actualComposeData.services).toHaveProperty(`api-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("api"); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); }); diff --git a/__test__/compose/service/service-extends.test.ts b/__test__/compose/service/service-extends.test.ts index 6188e4a8..e8f31aab 100644 --- a/__test__/compose/service/service-extends.test.ts +++ b/__test__/compose/service/service-extends.test.ts @@ -49,22 +49,22 @@ test("Add prefix to service names with extends (string) in compose file", () => expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); // Verificar que el nombre en extends tiene el prefijo - expect(actualComposeData.services[`web-${prefix}`].extends).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.extends).toBe( `base_service-${prefix}`, ); // Verificar que el servicio `base_service` también tiene el prefijo expect(actualComposeData.services).toHaveProperty(`base_service-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("base_service"); - expect(actualComposeData.services[`base_service-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`base_service-${prefix}`]?.image).toBe( "base:latest", ); }); @@ -109,23 +109,23 @@ test("Add prefix to service names with extends (object) in compose file", () => expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); // Verificar que el nombre en extends.service tiene el prefijo - const webExtends = actualComposeData.services[`web-${prefix}`].extends; + const webExtends = actualComposeData.services?.[`web-${prefix}`]?.extends; if (typeof webExtends !== "string") { - expect(webExtends.service).toBe(`base_service-${prefix}`); + expect(webExtends?.service).toBe(`base_service-${prefix}`); } // Verificar que el servicio `base_service` también tiene el prefijo expect(actualComposeData.services).toHaveProperty(`base_service-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("base_service"); - expect(actualComposeData.services[`base_service-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`base_service-${prefix}`]?.image).toBe( "base:latest", ); }); diff --git a/__test__/compose/service/service-links.test.ts b/__test__/compose/service/service-links.test.ts index b9b22fdf..08252649 100644 --- a/__test__/compose/service/service-links.test.ts +++ b/__test__/compose/service/service-links.test.ts @@ -50,27 +50,27 @@ test("Add prefix to service names with links in compose file", () => { expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); // Verificar que los nombres en links tienen el prefijo - expect(actualComposeData.services[`web-${prefix}`].links).toContain( + expect(actualComposeData.services?.[`web-${prefix}`]?.links).toContain( `db-${prefix}`, ); // Verificar que los servicios `db` y `api` también tienen el prefijo expect(actualComposeData.services).toHaveProperty(`db-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("db"); - expect(actualComposeData.services[`db-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`db-${prefix}`]?.image).toBe( "postgres:latest", ); expect(actualComposeData.services).toHaveProperty(`api-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("api"); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); }); diff --git a/__test__/compose/service/sevice-volumes-from.test.ts b/__test__/compose/service/sevice-volumes-from.test.ts index 90905a00..00d75fe8 100644 --- a/__test__/compose/service/sevice-volumes-from.test.ts +++ b/__test__/compose/service/sevice-volumes-from.test.ts @@ -54,23 +54,25 @@ test("Add prefix to service names with volumes_from in compose file", () => { expect(actualComposeData.services).not.toHaveProperty("web"); // Verificar que la configuración de la imagen sigue igual - expect(actualComposeData.services[`web-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`web-${prefix}`]?.image).toBe( "nginx:latest", ); - expect(actualComposeData.services[`api-${prefix}`].image).toBe( + expect(actualComposeData.services?.[`api-${prefix}`]?.image).toBe( "myapi:latest", ); // Verificar que los nombres en volumes_from tienen el prefijo - expect(actualComposeData.services[`web-${prefix}`].volumes_from).toContain( + expect(actualComposeData.services?.[`web-${prefix}`]?.volumes_from).toContain( `shared-${prefix}`, ); - expect(actualComposeData.services[`api-${prefix}`].volumes_from).toContain( + expect(actualComposeData.services?.[`api-${prefix}`]?.volumes_from).toContain( `shared-${prefix}`, ); // Verificar que el servicio shared también tiene el prefijo expect(actualComposeData.services).toHaveProperty(`shared-${prefix}`); expect(actualComposeData.services).not.toHaveProperty("shared"); - expect(actualComposeData.services[`shared-${prefix}`].image).toBe("busybox"); + expect(actualComposeData.services?.[`shared-${prefix}`]?.image).toBe( + "busybox", + ); }); diff --git a/tsconfig.json b/tsconfig.json index 3daa529d..de7e8a04 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -47,7 +47,6 @@ "dist", "webpack.config.server.js", "migration.ts", - "setup.ts", - "__test__" + "setup.ts" ] }