Probé varios enfoques para hacer coincidir este patrón específico de la URL:
https://app.launchdarkly.com/sdk/goals/123123123
por lo tanto, el 123123123 siempre cambiará. También, por alguna razón, está haciendo una llamada de OPTION junto a otra llamada GET cada vez. No estoy seguro de por qué y esa es probablemente otra historia...
error de retorno nock como:
Error: Error: Nock: No match for request { "method": "OPTIONS", "url": "https://app.launchdarkly.com/sdk/goals/123123123", "headers": { "origin": "http://localhost", "access-control-request-method": "GET", "access-control-request-headers": "X-LaunchDarkly-User-Agent", "user-agent": "Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/16.5.3", "host": "app.launchdarkly.com", "content-length": 0 } }nock no reconoce el patrón si lo hago (tenga en cuenta que también estoy copiando el mismo patrón como GET)
nock('https://app.launchdarkly.com') .persist() .defaultReplyHeaders({ 'access-control-allow-origin': '*', 'access-control-allow-headers': '*', 'access-control-allow-credentials': 'true', }) .options('/sdk/goals.*$/') .reply(200, mockLDExperiments);o
nock('https://app.launchdarkly.com') .persist() .defaultReplyHeaders({ 'access-control-allow-origin': '*', 'access-control-allow-headers': '*', 'access-control-allow-credentials': 'true', }) .options('/sdk/goals/**/*') .reply(200, mockLDExperiments);o
nock('https://app.launchdarkly.com') .persist() .defaultReplyHeaders({ 'access-control-allow-origin': '*', 'access-control-allow-headers': '*', 'access-control-allow-credentials': 'true', }) .options('/sdk/goals') .reply(200, mockLDExperiments);¿Alguna idea de cómo escribir el comparador de ruta correcto para que pueda permitir que este escenario de segmento sea recogido por nock?
Nock admite la coincidencia de rutas Regex. Parece que está intentando algo similar con los globos, sin embargo, si se proporciona una cadena, Nock solo hace una coincidencia exacta. Documentos
Para su caso, algo como esto debería ponerlo en marcha.
nock('https://app.launchdarkly.com') ... .options(/^\/sdk\/goals\//) ...