mirror of
https://github.com/fspc/BikeShed-1.git
synced 2025-02-28 16:53:23 -05:00
Adding api task_lists#show and spec, edit.haml updates
This commit is contained in:
parent
656f0f12e4
commit
3b904f95f2
@ -8,13 +8,9 @@ class Api::V1::TaskListsController < Api::V1::BaseController
|
|||||||
def show
|
def show
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
|
||||||
#@task_list.update_attributes(params)
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
def get_task_list
|
def get_task_list
|
||||||
@task_list = TaskList.find(params[:id])
|
@task_list = TaskList.find_by_id(params[:id])
|
||||||
if @task_list.nil?
|
if @task_list.nil?
|
||||||
render json: { errors: [NOT_FOUND] }, status: 404 and return
|
render json: { errors: [NOT_FOUND] }, status: 404 and return
|
||||||
end
|
end
|
||||||
|
@ -4,7 +4,7 @@ class TaskList < ActiveRecord::Base
|
|||||||
attr_accessible :item_id, :item_type, :name
|
attr_accessible :item_id, :item_type, :name
|
||||||
|
|
||||||
belongs_to :item, :polymorphic => true
|
belongs_to :item, :polymorphic => true
|
||||||
has_many :tasks
|
has_many :tasks, order: "id ASC"
|
||||||
|
|
||||||
after_save :create_default_bike_tasks
|
after_save :create_default_bike_tasks
|
||||||
|
|
||||||
|
@ -6,5 +6,8 @@
|
|||||||
.control-group
|
.control-group
|
||||||
- @task_list.tasks.each do |task|
|
- @task_list.tasks.each do |task|
|
||||||
.controls
|
.controls
|
||||||
%input{class: "task_list_task", type: "checkbox", "data-id" => task.id}
|
%input{class: "task_list_task", type: "checkbox", "data-id" => task.id, checked: task.done}
|
||||||
#{task.task}
|
#{task.task}
|
||||||
|
.control-group
|
||||||
|
.controls
|
||||||
|
%input{id: "update_tasks_submit", value: "Save Changes", type: "button", class: "btn btn-lg btn-block btn-primary disabled", "data-url" => "#{api_update_task_path}"}
|
||||||
|
@ -23,7 +23,7 @@ Velocipede::Application.routes.draw do
|
|||||||
get 'bikes/:id' => "bikes#show", as: "api_bike"
|
get 'bikes/:id' => "bikes#show", as: "api_bike"
|
||||||
post 'bikes/create' => "bikes#create", as: "api_create_bike"
|
post 'bikes/create' => "bikes#create", as: "api_create_bike"
|
||||||
|
|
||||||
get 'task_lists/:id' => "task_lists#show", as: "api_task_list"
|
get 'task_lists/:id' => "task_lists#show", as: "api_task_list"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
52
spec/controllers/api/task_lists_controller_spec.rb
Normal file
52
spec/controllers/api/task_lists_controller_spec.rb
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
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
|
7
spec/factories/task_lists.rb
Normal file
7
spec/factories/task_lists.rb
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FactoryGirl.define do
|
||||||
|
factory :task_list do
|
||||||
|
item_id { FactoryGirl.create(:bike).id }
|
||||||
|
item_type "Bike"
|
||||||
|
name { Faker::Lorem.words.join(" ")}
|
||||||
|
end
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user