ActiveRecordSerializer serializable_hash, возвращающий разные результаты при отладке rspec vs rails console / postman - PullRequest
0 голосов
/ 25 июня 2019

Я получаю неправильный ответ при запуске сериализатора в RSpec по сравнению с тем, что я получаю при выполнении запроса в Postman или в консоли Rails

ActiveModel::SerializableResource.new(EducationBoard.all.includes(:grades)).serializable_hash

Вложенность неверна, а некоторые ключи вообще отсутствуют. Но я получаю правильный вывод JSON, когда я вызываю маршрут на Postman. Есть идеи, почему это происходит?

Итак, в сериализаторе has_many: curriculums

Что я вижу при работе в RSpec:

 [{:id=>392027,
  :name=>"CURR1",
  :curriculums=>[{:id=>37151, :name=>"Trimester 1"},
                 {:id=>50325, :name=>"Trimester 2"},
                 {:id=>727899, :name=>"Trimester 3"},
                 {:id=>176583, :name=>"Term 1"},
                 {:id=>550183, :name=>"Term 2"},
                 {:id=>621833, :name=>"Term 3"},
                 {:id=>330652, :name=>"Term 4"}],

..

То, что я вижу в консоли Postman или Rails, правильно:

 [{:id=>392027,
      :name=>"CURR1",
      :curriculums=>[{:id=>37151, :name=>"Trimester 1"},
                     {:id=>50325, :name=>"Trimester 2"},
                     {:id=>727899, :name=>"Trimester 3"}],
...