Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

PATH is not resolving correctly

Abierto
#285 3 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
backend

Línea de trabajo

Reproduzca el issue #285 utilizando la regla y los payloads proporcionados; después, revise la discusión enlazada de Mojaloop para conocer el contexto sobre el comportamiento de JSON-PATH. El arreglo estará terminado cuando un body de tipo string no cumpla la condición $.amount, mientras que un body de tipo objeto que contenga amount: '123' sí la cumpla, y se haya añadido cobertura de regresión en el test apropiado del proyecto.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I have seen some strange happenings with regard to how the JSON-PATH is resolving in the rules with "json-rules-engine": "6.1.2".

If you consider the following rule:

{
    "ruleId": 1,
    "description": "Returns an NDC exceeded error response (ML error 4001) from the simulator when transfer value is 123 in any currency",
    "conditions": {
        "all": [
            {
                "fact": "path",
                "operator": "equal",
                "value": "/transfers"
            },
            {
                "fact": "method",
                "operator": "equal",
                "value": "POST"
            },
            {
                "fact": "body",
                "operator": "equal",
                "value": "123",
                "path": "$.amount"
            }
        ]
    },
    "event": {
        "type": "simulateError",
        "params": {
            "statusCode": 500,
            "body": {
                "statusCode": "4001",
                "message": "Payer FSP insufficient liquidity"
            }
        }
    }
}

With the following payload:

{
  path: '/transfers',
  body: '123', // <-- Non-matching PATH
  method: 'POST',
}

The rule will still resolve and fire off the event which I believe is incorrect.

My expectation is that it should only resolve when the payload is as follows:

{
  path: '/transfers',
  body: {      // <-- correct body 
      amount: '123',  // <-- Matching PATH
  },
  method: 'POST',
}

Link for reference: https://github.com/mojaloop/mojaloop-simulator/pull/120/files#r747311386

Lenguaje dominante
JavaScript
Estrellas
3.1k
Forks
507
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CacheControl/json-rules-engine

Todos los issues de CacheControl/json-rules-engine

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.