Velocipede's User, Sales, and Bike Inventory Web App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
1.4 KiB

require 'spec_helper'
describe Api::V1::TaskListsController do
render_views
describe "#show" do
context "as a user" do
before(:each) do
@user = FactoryGirl.create(:user)
sign_in @user
end
context "task list exists" do
let!(:task_list){ FactoryGirl.create(:task_list) }
it "returns 200" do
get :show, id: task_list.id, format: :json
expect(@response.code.to_i).to eql 200
end
it "returns valid task list json" do
get :show, id: task_list.id, format: :json
json = JSON.parse(@response.body)
expect(json.to_s).to include(task_list.name)
end
it "returns task list with tasks json" do
get :show, id: task_list.id, format: :json
json = JSON.parse(@response.body)
expect(task_list.tasks.count).to be > 0
task_list.tasks.each do |task|
expect(json.to_s).to include(task.task)
end
end
end
context "task list does not exist" do
it "returns 404" do
get :show, id: 999, format: :json
expect(@response.code.to_i).to eql 404
end
it "returns an error message" do
get :show, id: 999, format: :json
json = JSON.parse(@response.body)
expect(json["errors"].first).
to eql Api::V1::TaskListsController::NOT_FOUND
end
end
end
end
end