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

releases_actor_entity_spec.rb « activity_pub « serializers « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: fe3889688671ebc9e1b66d9b4541031d98800093 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe ActivityPub::ReleasesActorEntity, feature_category: :groups_and_projects do
  let(:project) { build_stubbed(:project, name: 'Fooify', path: 'fooify') }
  let(:releases) { build_stubbed_list(:release, 3, project: project) }

  let(:entity) { described_class.new(project) }

  context 'as json' do
    subject { entity.as_json }

    it 'has releases page as id' do
      expect(subject[:id]).to include "/fooify/-/releases"
    end

    it 'is an Application actor' do
      expect(subject[:type]).to eq 'Application'
    end

    it 'has a recognizable username' do
      expect(subject[:preferredUsername]).to include 'releases'
    end

    it 'has a recognizable full name' do
      expect(subject[:name]).to eq 'Releases - Fooify'
    end

    it 'provides a description of the project' do
      expect(subject[:content]).to eq project.description
    end

    it 'provides project data as context' do
      expect(subject[:context]).to include(:id, :type, :name, :summary, :url)
      expect(subject[:context][:id]).to match(%r{/fooify$})
    end
  end
end