diff options
Diffstat (limited to 'spec/serializers/deploy_key_entity_spec.rb')
-rw-r--r-- | spec/serializers/deploy_key_entity_spec.rb | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/spec/serializers/deploy_key_entity_spec.rb b/spec/serializers/deploy_key_entity_spec.rb index d3aefa2c9eb..c5d8e3f8a2f 100644 --- a/spec/serializers/deploy_key_entity_spec.rb +++ b/spec/serializers/deploy_key_entity_spec.rb @@ -12,10 +12,10 @@ describe DeployKeyEntity do let!(:deploy_key_private) { create(:deploy_keys_project, project: project_private, deploy_key: deploy_key) } let!(:deploy_key_pending_delete) { create(:deploy_keys_project, project: project_pending_delete, deploy_key: deploy_key) } - let(:entity) { described_class.new(deploy_key, user: user) } + let(:entity) { described_class.new(deploy_key, user: user, request: double) } describe 'returns deploy keys with projects a user can read' do - let(:expected_result) do + let(:expected_deploy_key_info) do { id: deploy_key.id, user_id: deploy_key.user_id, @@ -26,19 +26,26 @@ describe DeployKeyEntity do almost_orphaned: false, created_at: deploy_key.created_at, updated_at: deploy_key.updated_at, - can_edit: false, - projects: [ - { - id: project.id, - name: project.name, - full_path: project_path(project), - full_name: project.full_name - } - ] + can_edit: false } end - it { expect(entity.as_json).to eq(expected_result) } + let(:expected_project_info) do + { + id: project.id, + name: project.name, + project_path: project_path(project), + full_name: project.full_name + } + end + + it 'includes deploy key info' do + expect(entity.as_json).to match(a_hash_including(expected_deploy_key_info)) + end + + it 'returnd deploy key info' do + expect(entity.as_json[:projects].first).to match(a_hash_including(expected_project_info)) + end end describe 'returns can_edit true if user is a master of project' do |