distinguir entre todas las barcas y solo en las que estamos

This commit is contained in:
fauno 2019-08-03 15:25:11 -03:00
parent 92cf2ea616
commit 532054de11
No known key found for this signature in database
GPG key ID: 456032D717A4CD9C
4 changed files with 29 additions and 1 deletions

View file

@ -6,10 +6,17 @@ class BarcasController < ApplicationController
# GET /barcas # GET /barcas
# #
# Devuelve todas las barcas # Devuelve todas las barcas abordadas
# #
# @return Array [ barcas ] # @return Array [ barcas ]
def index def index
@barcas = current_pirata.barcas
end
# GET /barcas/todas
#
# Ver todas las barcas
def todas
@barcas = Barca.all @barcas = Barca.all
end end

View file

@ -0,0 +1,3 @@
# frozen_string_literal: true
json.barcas @barcas, partial: 'barcas/barca', as: :barca

View file

@ -7,6 +7,7 @@ Rails.application.routes.draw do
# Solo se pueden crear suscripciones # Solo se pueden crear suscripciones
resources :webpush_subscriptions, only: %i[create] resources :webpush_subscriptions, only: %i[create]
# Podemos crear barcas y dentro de ellas consensos # Podemos crear barcas y dentro de ellas consensos
get 'barcas/todas', to: 'barcas#todas'
resources :barcas, only: %i[index show create update destroy] do resources :barcas, only: %i[index show create update destroy] do
put 'abordar', to: 'barcas#abordar' put 'abordar', to: 'barcas#abordar'
delete 'abandonar', to: 'barcas#abandonar' delete 'abandonar', to: 'barcas#abandonar'

View file

@ -7,11 +7,28 @@ class BarcasControllerTest < ActionDispatch::IntegrationTest
.encode_credentials(@pirata.email, @pirata.password) } .encode_credentials(@pirata.email, @pirata.password) }
end end
test 'se pueden ver todas-todas' do
2.times do
create :barca
end
create :barca, piratas: [@pirata]
get barcas_todas_url, as: :json, headers: @auth
body = JSON.parse(@response.body)
assert_equal 200, @response.status
assert_equal 3, body['barcas'].size
end
test 'se pueden ver todas' do test 'se pueden ver todas' do
2.times do 2.times do
create :barca, piratas: [@pirata] create :barca, piratas: [@pirata]
end end
create :barca
get barcas_url, as: :json, headers: @auth get barcas_url, as: :json, headers: @auth
body = JSON.parse(@response.body) body = JSON.parse(@response.body)