APIのリクエストテストをやる際、
jsonが期待通りに取れているかをもっとわかりやすく書けないかと思ったときにいくつかgemを発見した。
最後のコミットが何年も前だったこと、starの数もあまり多くなかったこと、実際に使ってみて使いづらかったことを踏まえてgemは使わずやることにした。
gemを使ったAPIのリクエストテストの方法をあまり記事で見かけなかったので、みんなそもそもgemを使わないのかなーとも思った。
spec.rb
...
it '自分の本の情報が昇順に返ること' do
json = JSON.parse(response.body)
expect(response.status).to eq 200
expect(json['books']).to eq([
{"id"=>book.id, "type"=>"mystery", "date"=>"2021-01-01", "punched_at"=>1609459200},
{"id"=>book2.id, "type"=>"love", "date"=>"2021-01-05", "punched_at"=>1609804800},
{"id"=>book1.id, "type"=>"mystery", "date"=>"2021-01-11", "punched_at"=>1610323200}
])
end
...