Merge pull request #259 from RickCarlino/master

RegmineController#index and #destroy
pull/261/head
Rick Carlino 2016-08-09 20:26:09 -05:00 committed by GitHub
commit 7cb56ff8d8
5 changed files with 67 additions and 8 deletions

View File

@ -2,18 +2,31 @@ module Api
class RegimensController < Api::AbstractController
def index
raise "NOT IMPLENETED YET."
# render json: Regimen.where(regimen_params)
render json: your_regimens
end
def create
ship_it = JSON.parse(params.to_json).merge(device: current_user.device)
ship_it = JSON.parse(params.to_json).merge(regimen_params)
mutate Regimens::Create.run(ship_it)
end
def destroy
raise "NOT IMPLENETED YET."
# raise Errors::Forbidden, "Not your Regimen object."
the_regimen.destroy!
render nothing: true
end
private
def the_regimen
your_regimens.find(params[:id])
end
def your_regimens
Regimen.where(regimen_params)
end
def regimen_params
{ device: current_user.device }
end
end
end

View File

@ -0,0 +1,20 @@
describe Api::RegimensController do
include Devise::Test::ControllerHelpers
describe '#index' do
let(:user) { FactoryGirl.create(:user) }
let!(:regimen) { FactoryGirl.create(:regimen, device: user.device) }
it 'retrieves all regimina' do
sign_in user
old_count = Regimen.count
delete :destroy, { id: regimen._id.to_s }
new_count = Regimen.count
expect(response.status).to eq(200)
expect(old_count).to be > new_count
expect { regimen.reload }
.to(raise_error(Mongoid::Errors::DocumentNotFound))
end
end
end

View File

@ -0,0 +1,27 @@
require 'spec_helper'
describe Api::RegimensController do
include Devise::Test::ControllerHelpers
describe '#index' do
let(:user) { FactoryGirl.create(:user) }
let!(:regimen) { FactoryGirl.create(:regimen, device: user.device) }
it 'retrieves all regimina' do
sign_in user
get :index
expect(response.status).to eq(200)
expect(json.count).to eq(1)
expect(json.first[:_id]).to eq(regimen._id.to_s)
end
it 'doesnt fetch other peoples regimens' do
other_person = FactoryGirl.create(:user)
sign_in other_person
get :index
expect(response.status).to eq(200)
expect(json.count).to eq(0)
end
end
end

View File

@ -1,6 +1,6 @@
FactoryGirl.define do
factory :regiman, :class => 'Regimen' do
factory :regimen, :class => 'Regimen' do
end
end

View File

@ -19,7 +19,6 @@ describe Regimens::Create do
}
]
}
$wow = seq1
result = Regimens::Create.run!(optns).reload
expect(result.regimen_items.length).to eq(2)
expect(result.regimen_items.first.time_offset).to eq(129600000)