summaryrefslogtreecommitdiff
path: root/spec/services/packages/rpm/repository_metadata/base_builder_spec.rb
blob: 524c224177b6e031d5b33d1cc9d81e022c515f20 (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
# frozen_string_literal: true
require 'spec_helper'

RSpec.describe Packages::Rpm::RepositoryMetadata::BaseBuilder do
  describe '#execute' do
    subject { described_class.new(xml: xml, data: data).execute }

    let(:xml) { nil }
    let(:data) { {} }

    before do
      stub_const("#{described_class}::ROOT_TAG", 'test')
      stub_const("#{described_class}::ROOT_ATTRIBUTES", { foo1: 'bar1', foo2: 'bar2' })
    end

    it 'generate valid xml' do
      result = Nokogiri::XML::Document.parse(subject)

      expect(result.children.count).to eq(1)
      expect(result.children.first.attributes.count).to eq(2)
      expect(result.children.first.attributes['foo1'].value).to eq('bar1')
      expect(result.children.first.attributes['foo2'].value).to eq('bar2')
    end

    context 'when call with parameters' do
      let(:xml) { 'test' }

      it 'raise NotImplementedError' do
        expect { subject }.to raise_error NotImplementedError
      end
    end
  end
end