Added ban information to user api

This commit is contained in:
Chris Blanchard 2015-08-01 16:44:39 +01:00
parent 3ec284b925
commit 3f1077dff8
3 changed files with 51 additions and 19 deletions

View file

@ -17,6 +17,11 @@ class Api::V1::UsersController < Api::V1::BaseController
steam: { steam: {
url: @steam.base_url, url: @steam.base_url,
nickname: @steam.nickname nickname: @steam.nickname
},
bans: {
gather: @user.banned?(Ban::TYPE_GATHER).present?,
mute: @user.banned?(Ban::TYPE_MUTE).present?,
site: @user.banned?(Ban::TYPE_SITE).present?
} }
} }
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound

View file

@ -29,6 +29,25 @@ describe Api::V1::UsersController do
get :show, id: -1 get :show, id: -1
}.to raise_error(ActionController::RoutingError) }.to raise_error(ActionController::RoutingError)
end end
it 'returns correct ban if user muted' do
create :ban, :mute, user: @user
get :show, id: @user.id
expect(response).to be_success
expect(json['bans']['mute']).to eq(true)
end
it 'returns correct ban if user gather banned' do
create :ban, :gather, user: @user
get :show, id: @user.id
expect(response).to be_success
expect(json['bans']['gather']).to eq(true)
end
it 'returns correct ban if user site banned' do
create :ban, :site, user: @user
get :show, id: @user.id
expect(response).to be_success
expect(json['bans']['site']).to eq(true)
end
end end
describe '#index' do describe '#index' do

View file

@ -17,6 +17,14 @@ FactoryGirl.define do
ban_type Ban::TYPE_MUTE ban_type Ban::TYPE_MUTE
end end
trait :site do
ban_type Ban::TYPE_SITE
end
trait :gather do
ban_type Ban::TYPE_GATHER
end
trait :expired do trait :expired do
expiry Date.yesterday - 1 expiry Date.yesterday - 1
end end