fix synapse/mapping spec

This commit is contained in:
Devin Howard 2017-02-11 19:56:07 -08:00
parent bfdce21a66
commit 4ee4aeaad2
2 changed files with 30 additions and 29 deletions

View file

@ -1,35 +1,35 @@
# frozen_string_literal: true # frozen_string_literal: true
class FollowService class FollowService
class << self
def follow(entity, user, reason)
def self.follow(entity, user, reason) return unless is_tester(user)
return unless is_tester(user) follow = Follow.where(followed: entity, user: user).first_or_create
if FollowReason::REASONS.include?(reason) && !follow.follow_reason.read_attribute(reason)
follow = Follow.where(followed: entity, user: user).first_or_create follow.follow_reason.update_attribute(reason, true)
if FollowReason::REASONS.include?(reason) && !follow.follow_reason.read_attribute(reason)
follow.follow_reason.update_attribute(reason, true)
end
end
def self.unfollow(entity, user)
Follow.where(followed: entity, user: user).destroy_all
end
def self.remove_reason(entity, user, reason)
return unless FollowReason::REASONS.include?(reason)
follow = Follow.where(followed: entity, user: user).first
if follow
follow.follow_reason.update_attribute(reason, false)
if !follow.follow_reason.has_reason
follow.destroy
end end
end end
end
def unfollow(entity, user)
protected Follow.where(followed: entity, user: user).destroy_all
end
def is_tester(user)
%w(connorturland@gmail.com devin@callysto.com chessscholar@gmail.com solaureum@gmail.com ishanshapiro@gmail.com).include?(user.email) def remove_reason(entity, user, reason)
return unless FollowReason::REASONS.include?(reason)
follow = Follow.where(followed: entity, user: user).first
if follow
follow.follow_reason.update_attribute(reason, false)
if !follow.follow_reason.has_reason
follow.destroy
end
end
end
protected
def is_tester(user)
%w(connorturland@gmail.com devin@callysto.com chessscholar@gmail.com solaureum@gmail.com ishanshapiro@gmail.com).include?(user.email)
end
end end
end end

View file

@ -2,11 +2,12 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe SynapsesController, type: :controller do RSpec.describe SynapsesController, type: :controller do
let(:synapse) { create(:synapse) } let(:user) { create(:user) }
let(:synapse) { create(:synapse, user: user, updated_by: user) }
let(:valid_attributes) { synapse.attributes.except('id') } let(:valid_attributes) { synapse.attributes.except('id') }
let(:invalid_attributes) { { permission: :invalid_lol } } let(:invalid_attributes) { { permission: :invalid_lol } }
before :each do before :each do
sign_in create(:user) sign_in(user)
end end
describe 'POST #create' do describe 'POST #create' do