jam-cloud/web/spec/requests/diagnostics_api_spec.rb

42 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

2014-04-30 03:01:28 +00:00
require 'spec_helper'
# user progression is achieved by different aspects of the code working together in a cross-cutting fashion.
# due to this, it's nice to have a single place where all the parts of user progression are tested
# https://jamkazam.atlassian.net/wiki/pages/viewpage.action?pageId=3375145
describe "Diagnostics", :type => :api do
let(:user) { FactoryGirl.create(:user) }
subject { page }
def login(user)
post '/sessions', "session[email]" => user.email, "session[password]" => user.password
rack_mock_session.cookie_jar["remember_token"].should == user.remember_token
end
describe "create" do
before do
Diagnostic.delete_all
login(user)
end
it "can fail" do
post "/api/diagnostics.json", {}.to_json, "CONTENT_TYPE" => 'application/json'
last_response.status.should eql(422)
JSON.parse(last_response.body).should eql({"errors"=>{"type"=>["is not included in the list"]}})
2014-04-30 03:01:28 +00:00
Diagnostic.count.should == 0
end
it "can succeed" do
post "/api/diagnostics.json", { type: Diagnostic::NO_HEARTBEAT_ACK}.to_json, "CONTENT_TYPE" => 'application/json'
last_response.status.should eql(201)
Diagnostic.count.should == 1
end
end
end