added spec replicating the problem
This commit is contained in:
		
							parent
							
								
									35442766cf
								
							
						
					
					
						commit
						b3bb8dc46f
					
				| 
						 | 
				
			
			@ -14,7 +14,7 @@ module Gitlab
 | 
			
		|||
                    priorities: :label_priorities,
 | 
			
		||||
                    label: :project_label }.freeze
 | 
			
		||||
 | 
			
		||||
      USER_REFERENCES = %w[author_id assignee_id updated_by_id user_id created_by_id merge_user_id].freeze
 | 
			
		||||
      USER_REFERENCES = %w[author_id assignee_id updated_by_id user_id created_by_id merge_user_id resolved_by_id].freeze
 | 
			
		||||
 | 
			
		||||
      PROJECT_REFERENCES = %w[project_id source_project_id gl_project_id target_project_id].freeze
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,8 +75,9 @@ describe Gitlab::ImportExport::MembersMapper, services: true do
 | 
			
		|||
      expect(user2.authorized_project?(project)).to be true
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    context 'user is not admin' do
 | 
			
		||||
    context 'user is not an admin' do
 | 
			
		||||
      let(:user) { create(:user, authorized_projects_populated: true) }
 | 
			
		||||
 | 
			
		||||
      it 'does not map a project member' do
 | 
			
		||||
        expect(members_mapper.map[exported_user_id]).to eq(user.id)
 | 
			
		||||
      end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ require 'spec_helper'
 | 
			
		|||
describe Gitlab::ImportExport::RelationFactory, lib: true do
 | 
			
		||||
  let(:project) { create(:empty_project) }
 | 
			
		||||
  let(:members_mapper) { double('members_mapper').as_null_object }
 | 
			
		||||
  let(:user) { create(:user) }
 | 
			
		||||
  let(:user) { create(:admin) }
 | 
			
		||||
  let(:created_object) do
 | 
			
		||||
    described_class.create(relation_sym: relation_sym,
 | 
			
		||||
                           relation_hash: relation_hash,
 | 
			
		||||
| 
						 | 
				
			
			@ -122,4 +122,60 @@ describe Gitlab::ImportExport::RelationFactory, lib: true do
 | 
			
		|||
      expect(created_object.values).not_to include(99)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  context 'Notes user references' do
 | 
			
		||||
    let(:relation_sym) { :notes }
 | 
			
		||||
    let(:new_user) { create(:user) }
 | 
			
		||||
    let(:exported_member) do
 | 
			
		||||
      {
 | 
			
		||||
        "id" => 999,
 | 
			
		||||
        "access_level" => 30,
 | 
			
		||||
        "source_id" => 1,
 | 
			
		||||
        "source_type" => "Project",
 | 
			
		||||
        "user_id" => 3,
 | 
			
		||||
        "notification_level" => 3,
 | 
			
		||||
        "created_at" => "2016-11-18T09:29:42.634Z",
 | 
			
		||||
        "updated_at" => "2016-11-18T09:29:42.634Z",
 | 
			
		||||
        "user" => {
 | 
			
		||||
          "id" => new_user.id,
 | 
			
		||||
          "email" => new_user.email,
 | 
			
		||||
          "username" => new_user.username
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    let(:relation_hash) do
 | 
			
		||||
      {
 | 
			
		||||
        "id" => 4947,
 | 
			
		||||
        "note" => "merged",
 | 
			
		||||
        "noteable_type" => "MergeRequest",
 | 
			
		||||
        "author_id" => 999,
 | 
			
		||||
        "created_at" => "2016-11-18T09:29:42.634Z",
 | 
			
		||||
        "updated_at" => "2016-11-18T09:29:42.634Z",
 | 
			
		||||
        "project_id" => 1,
 | 
			
		||||
        "attachment" => {
 | 
			
		||||
          "url" => nil
 | 
			
		||||
        },
 | 
			
		||||
        "noteable_id" => 377,
 | 
			
		||||
        "system" => true,
 | 
			
		||||
        "author" => {
 | 
			
		||||
          "name" => "Administrator"
 | 
			
		||||
        },
 | 
			
		||||
        "events" => [
 | 
			
		||||
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    let(:members_mapper) do
 | 
			
		||||
      Gitlab::ImportExport::MembersMapper.new(
 | 
			
		||||
        exported_members: [exported_member],
 | 
			
		||||
        user: user,
 | 
			
		||||
        project: project)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'maps the right author to the imported note' do
 | 
			
		||||
      expect(created_object.author).to eq(new_user)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue