project members: fixed a few issues. Specs now passing
This commit is contained in:
parent
7b855b75f2
commit
18d3b38e46
2 changed files with 27 additions and 20 deletions
|
@ -30,13 +30,14 @@ module Projects
|
||||||
def assign_member(existing_user, member)
|
def assign_member(existing_user, member)
|
||||||
member['user'] = existing_user
|
member['user'] = existing_user
|
||||||
project_member = ProjectMember.new(member_hash(member))
|
project_member = ProjectMember.new(member_hash(member))
|
||||||
@project_member_map[member['id']] = project_member if project_member.save
|
@project_member_map[existing_user.id] = project_member if project_member.save
|
||||||
end
|
end
|
||||||
|
|
||||||
def member_hash(member)
|
def member_hash(member)
|
||||||
member.except('id').merge(source_id: @project_id)
|
member.except('id').merge(source_id: @project_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#TODO: If default, then we need to leave a comment 'Comment by <original username>' on comments
|
||||||
def default_project_member
|
def default_project_member
|
||||||
@default_project_member ||=
|
@default_project_member ||=
|
||||||
begin
|
begin
|
||||||
|
|
|
@ -6,21 +6,27 @@ describe Projects::ImportExport::MembersMapper, services: true do
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
let(:project) { create(:project, :public, name: 'searchable_project') }
|
let(:project) { create(:project, :public, name: 'searchable_project') }
|
||||||
let(:user2) { create(:user) }
|
let(:user2) { create(:user) }
|
||||||
let(:exported_members) { [
|
let(:exported_members) do
|
||||||
{
|
[{
|
||||||
"id" => 2,
|
"id" => 2,
|
||||||
"access_level" => 40,
|
"access_level" => 40,
|
||||||
"source_id" => 14,
|
"source_id" => 14,
|
||||||
"source_type" => "Project",
|
"source_type" => "Project",
|
||||||
"user_id" => 19,
|
"user_id" => 19,
|
||||||
"notification_level" => 3,
|
"notification_level" => 3,
|
||||||
"created_at" => "2016-03-11T10:21:44.822Z",
|
"created_at" => "2016-03-11T10:21:44.822Z",
|
||||||
"updated_at" => "2016-03-11T10:21:44.822Z",
|
"updated_at" => "2016-03-11T10:21:44.822Z",
|
||||||
"created_by_id" => nil,
|
"created_by_id" => nil,
|
||||||
"invite_email" => nil,
|
"invite_email" => nil,
|
||||||
"invite_token" => nil,
|
"invite_token" => nil,
|
||||||
"invite_accepted_at" => nil,
|
"invite_accepted_at" => nil,
|
||||||
"user" => { "email" => user2.email, "username" => user2.username } }] }
|
"user" =>
|
||||||
|
{
|
||||||
|
"email" => user2.email,
|
||||||
|
"username" => user2.username
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
end
|
||||||
|
|
||||||
let(:members_mapper) do
|
let(:members_mapper) do
|
||||||
Projects::ImportExport::MembersMapper.new(
|
Projects::ImportExport::MembersMapper.new(
|
||||||
|
@ -28,15 +34,15 @@ describe Projects::ImportExport::MembersMapper, services: true do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'maps a project member' do
|
it 'maps a project member' do
|
||||||
expect(project_member_map_id(user2.id)).to eq(user2.id)
|
expect(project_member_user_id(user2.id)).to eq(user2.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'defaults to importer project member if it does not exist' do
|
it 'defaults to importer project member if it does not exist' do
|
||||||
expect(project_member_map_id(-1)).to eq(user.id)
|
expect(project_member_user_id(-1)).to eq(user.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def project_member_map_id(id)
|
def project_member_user_id(id)
|
||||||
members_mapper.map[id]['id']
|
members_mapper.map[id].user.id
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue