compare-code/spec/requests/api/solutions_request_spec.rb

29 lines
899 B
Ruby

require 'rails_helper'
RSpec.describe Api::SolutionsController, :type => :request do
before :each do
Question.delete_all
@question = Question.create!(title: 'title', content: 'content', input: %W(1 2 3), output: %W(4 5 6))
end
let(:out) {JSON.parse(response.body)}
context '参数正确,成功提交答题' do
before do
post "/api/questions/#{@question.id}/solutions.json", src: 'src', student_work_id: 1, language: 2
end
it {expect(response).to have_http_status(:success)}
it {expect(out["status"]).to eq(0)}
it {expect(out["id"]).to be > 0}
end
context '参数不正确,返回错误信息' do
before do
post "/api/questions/#{@question.id}/solutions.json", src: ''
end
it {expect(response).to have_http_status(:success)}
it {expect(out["status"]).not_to eq(0)}
it {expect(out["message"]).not_to be_empty}
end
end