diff options
Diffstat (limited to 'spec/lib/gitlab/import_export/project/tree_restorer_spec.rb')
-rw-r--r-- | spec/lib/gitlab/import_export/project/tree_restorer_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb index c8229eeee94..9fc0fdeb1bc 100644 --- a/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb +++ b/spec/lib/gitlab/import_export/project/tree_restorer_spec.rb @@ -956,6 +956,37 @@ describe Gitlab::ImportExport::Project::TreeRestorer do end end end + + context 'with project members' do + let(:user) { create(:user, :admin) } + let(:user2) { create(:user) } + let(:project_members) do + [ + { + "id" => 2, + "access_level" => 40, + "source_type" => "Project", + "notification_level" => 3, + "user" => { + "id" => user2.id, + "email" => user2.email, + "username" => 'test' + } + } + ] + end + let(:tree_hash) { { 'project_members' => project_members } } + + before do + project.add_maintainer(user) + end + + it 'restores project members' do + restorer.restore + + expect(project.members.map(&:user)).to contain_exactly(user, user2) + end + end end context 'JSON with invalid records' do |