Add index action to steps

pull/121/head
Rick Carlino 2015-01-16 08:28:08 -06:00
parent 4063d03942
commit 327f8fee17
5 changed files with 29 additions and 3 deletions

View File

@ -6,6 +6,10 @@ module Api
mutate Steps::Create.run(params, sequence: sequence)
end
def index
render json: sequence.steps
end
def destroy
if step && step.destroy
render nothing: true

View File

@ -4,7 +4,7 @@ Dss::Application.routes.draw do
namespace :api, defaults: {format: :json} do
resources :devices, only: [:index, :destroy, :create, :update]
resources :sequences, only: [:create, :destroy] do
resources :steps, only: [:create, :update, :destroy]
resources :steps, only: [:create, :index, :update, :destroy]
end
end

View File

@ -4,7 +4,7 @@ describe Api::StepsController do
include Devise::TestHelpers
describe '#create' do
describe '#destroy' do
let(:sequence) { FactoryGirl.create(:sequence) }
let(:step) { sequence.steps[0] }
let(:user) { sequence.user }

View File

@ -0,0 +1,18 @@
require 'spec_helper'
describe Api::StepsController do
include Devise::TestHelpers
describe '#index' do
let(:sequence) { FactoryGirl.create(:sequence) }
let(:user) { sequence.user }
it 'retrieves all steps for a sequence' do
sign_in user
get :index, sequence_id: sequence._id.to_s
expect(response.status).to eq(200)
expect(json[0][:_id]).to eq(sequence.steps[0]._id.to_s)
end
end
end

View File

@ -7,4 +7,8 @@ module Helpers
fill_in 'user_password', with: user.password
click_button 'Sign in'
end
end
def json
JSON.parse(response.body).map(&:deep_symbolize_keys!)
end
end