Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/serializers/member_entity_spec.rb')
-rw-r--r--spec/serializers/member_entity_spec.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/serializers/member_entity_spec.rb b/spec/serializers/member_entity_spec.rb
index dc7aa4611f2..370fa14b1e8 100644
--- a/spec/serializers/member_entity_spec.rb
+++ b/spec/serializers/member_entity_spec.rb
@@ -39,6 +39,10 @@ RSpec.describe MemberEntity do
expect(entity_hash[:invite][:can_resend]).to be(true)
end
+
+ it 'exposes `invite.user_state` as empty string' do
+ expect(entity_hash[:invite][:user_state]).to eq('')
+ end
end
shared_examples 'is_direct_member' do
@@ -59,6 +63,12 @@ RSpec.describe MemberEntity do
end
end
+ shared_examples 'user state is blocked_pending_approval' do
+ it 'displays proper user state' do
+ expect(entity_hash[:invite][:user_state]).to eq('blocked_pending_approval')
+ end
+ end
+
context 'group member' do
let(:group) { create(:group) }
let(:source) { group }
@@ -79,6 +89,14 @@ RSpec.describe MemberEntity do
it_behaves_like 'is_direct_member'
end
+
+ context 'new member user state is blocked_pending_approval' do
+ let(:user) { create(:user, :blocked_pending_approval) }
+ let(:group_member) { create(:group_member, :invited, group: group, invite_email: user.email) }
+ let(:member) { GroupMemberPresenter.new(GroupMember.with_invited_user_state.find(group_member.id), current_user: current_user) }
+
+ it_behaves_like 'user state is blocked_pending_approval'
+ end
end
context 'project member' do
@@ -102,5 +120,13 @@ RSpec.describe MemberEntity do
it_behaves_like 'is_direct_member'
end
+
+ context 'new members user state is blocked_pending_approval' do
+ let(:user) { create(:user, :blocked_pending_approval) }
+ let(:project_member) { create(:project_member, :invited, project: project, invite_email: user.email) }
+ let(:member) { ProjectMemberPresenter.new(ProjectMember.with_invited_user_state.find(project_member.id), current_user: current_user) }
+
+ it_behaves_like 'user state is blocked_pending_approval'
+ end
end
end