Как работать с полиморфными конечными точками в Pact? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть приложение, в котором я могу искать Books и Movies. Эти 2 объекта имеют разные свойства, поэтому их структуры JSON различны.

У меня также есть конечная точка GET /favorites, которая должна возвращать Books и Movies.

GET /favorites

{
  "favorites": [
    {
      "type": "book",
      "title": "Foo",
      "author": "John"
    },
    { 
      "type": "movie",
      "name": "Bar",
      "producers": [
        {
          "firstName": "Mary"
        }
      ]
    }
  ]
}

Я искал документы по этому делу, но ничего не могу найти. Как я могу написать договор Pact для этого варианта использования?

1 Ответ

1 голос
/ 07 мая 2019

Я бы написал для этого два отдельных тестовых примера и использовал бы Государства-провайдеры для различения двух полезных нагрузок.

Например:

  1. При наличии книг
  2. Когда есть фильмы

Или что-то на этот счет.См. [1] для соответствующей информации об этом.

[1] https://docs.pact.io/faq#why-is-there-no-support-for-specifying-optional-attributes

...