mirror of https://github.com/fspc/BikeShed-1.git
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.
53 lines
1.4 KiB
53 lines
1.4 KiB
11 years ago
|
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
|