Я начал использовать этот путь:Лучший способ проверить DELETE-запросы с помощью Rspec?
describe "DELETE /v1/categories/{id}" do
before(:each) do
# Login User/Token
end
it 'deletes a category' do
category = Fabricate(:category)
category2 = Fabricate(:category)
get "/v1/categories"
expect(response.status).to eq 200
expect(JSON.parse(response.body)).to eq([YAML.load(category.to_json),YAML.load(category2.to_json),])
delete "/v1/categories/#{category.id}"
expect(response.status).to eq 200
get "/v1/categories"
expect(JSON.parse(response.body)).to eq([YAML.load(category2.to_json)])
end
end
я не уверен, если это лучший способ протестировать запрос API для удаления данных.
У меня уже есть все тесты для всех URL и методов. Мой вопрос в том, что мне просто нужно проверить запрос на удаление, чем проверить, существует ли объект в базе данных? Или я могу проверить, используя мой путь, создавая две категории в базе данных, удаляю их и перечисляю все категории, чтобы проверить, удален ли один из них. Проверьте эту ссылку: https://github.com/larica/larica-api/blob/342ca6ff4a6f69651c814515a7be950afb8a47b0/spec/api/v1_categories_spec.rb –
Оба метода в порядке. =) –
Это просто вопрос вкуса. Мне не нравится смешивать все маршруты в одной и той же спецификации, если я могу, но, как я уже сказал, это просто мое мнение. Твой путь в порядке! –