diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-11-10 21:16:54 +0100 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-11-10 21:18:39 +0100 |
commit | b0c6037a3af1724ffb18de7442495576e90af396 (patch) | |
tree | 10c2fc1bd39f282897a1c48950c8baca69f68022 /spec/serializers/pipeline_serializer_spec.rb | |
parent | f41c3c02b1c20f7b13013ab135f8d2ff056aea05 (diff) | |
download | gitlab-ce-b0c6037a3af1724ffb18de7442495576e90af396.tar.gz |
Refine incremental pipeline serializer
Diffstat (limited to 'spec/serializers/pipeline_serializer_spec.rb')
-rw-r--r-- | spec/serializers/pipeline_serializer_spec.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb new file mode 100644 index 00000000000..c4eba2f2537 --- /dev/null +++ b/spec/serializers/pipeline_serializer_spec.rb @@ -0,0 +1,36 @@ +require 'spec_helper' + +describe PipelineSerializer do + let(:serializer) do + described_class.new(user: user) + end + + let(:pipelines) do + create_list(:ci_pipeline, 2) + end + + let(:user) { create(:user) } + + context 'when using incremental serializer' do + let(:json) do + serializer.incremental(pipelines, time).as_json + end + + context 'when pipeline has been already updated' do + let(:time) { Time.now } + + it 'exposes only minimal information' do + expect(json.first.keys).to contain_exactly(:id, :url) + expect(json.second.keys).to contain_exactly(:id, :url) + end + end + + context 'when pipeline updated in the meantime' do + let(:time) { Time.now - 10.minutes } + + it 'exposes new data incrementally' do + expect(json.first.keys.count).to eq 9 + end + end + end +end |