Skip to content
Snippets Groups Projects
Verified Commit 757426db authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Add Member AR model

parent 3503b504
No related branches found
No related tags found
No related merge requests found
class Member < ActiveRecord::Base
include Notifiable
include Gitlab::Access
belongs_to :user
belongs_to :source, polymorphic: true
validates :user, presence: true
validates :source, presence: true
validates :user_id, uniqueness: { scope: [:source_type, :source_id], message: "already exists in source" }
validates :access_level, inclusion: { in: Gitlab::Access.values }, presence: true
scope :guests, -> { where(group_access: GUEST) }
scope :reporters, -> { where(group_access: REPORTER) }
scope :developers, -> { where(group_access: DEVELOPER) }
scope :masters, -> { where(group_access: MASTER) }
scope :owners, -> { where(group_access: OWNER) }
end
require 'spec_helper'
describe Member do
describe "Associations" do
it { should belong_to(:user) }
end
describe "Validation" do
subject { Member.new(access_level: Member::GUEST) }
it { should validate_presence_of(:user) }
it { should validate_presence_of(:source) }
it { should ensure_inclusion_of(:access_level).in_array(Gitlab::Access.values) }
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment