Sha256: 342dffd031318e9f33c1c93ebd367c5698ffc0e97ed9ee0af3cb4cd7f9cecc43

Contents?: true

Size: 1.95 KB

Versions: 1

Compression:

Stored size: 1.95 KB

Contents

RSpec.describe Percy::Client::Builds, :vcr do
  let(:content) { "hello world! #{__FILE__}" }
  let(:sha) { Digest::SHA256.hexdigest(content) }

  describe '#create_build' do
    before(:each) { ENV['PERCY_PULL_REQUEST'] = '123' }
    after(:each) { ENV['PERCY_PULL_REQUEST'] = nil }
    it 'creates a build' do
      build = Percy.create_build('fotinakis/percy-examples')
      expect(build).to be
      expect(build['data']).to be
      expect(build['data']['id']).to be
      expect(build['data']['type']).to eq('builds')
      expect(build['data']['attributes']['state']).to eq('pending')
      expect(build['data']['attributes']['is-pull-request']).to be_truthy
      expect(build['data']['attributes']['pull-request-number']).to eq(123)
      expect(build['data']['relationships']['missing-resources']).to be
      expect(build['data']['relationships']['missing-resources']['data']).to_not be
    end
    it 'accepts optional resources' do
      resources = []
      resources << Percy::Client::Resource.new('/css/test.css', sha: sha)

      build = Percy.create_build('fotinakis/percy-examples', resources: resources)
      expect(build).to be
      expect(build['data']).to be
      expect(build['data']['id']).to be
      expect(build['data']['type']).to eq('builds')
      expect(build['data']['attributes']['state']).to eq('pending')
      expect(build['data']['attributes']['is-pull-request']).to be_truthy
      expect(build['data']['attributes']['pull-request-number']).to eq(123)
      expect(build['data']['relationships']['missing-resources']).to be
      expect(build['data']['relationships']['missing-resources']['data']).to be
      expect(build['data']['relationships']['missing-resources']['data'][0]['id']).to eq(sha)
    end
  end
  describe '#finalize_build' do
    it 'finalizes a build' do
      build = Percy.create_build('fotinakis/percy-examples')
      result = Percy.finalize_build(build['data']['id'])
      expect(result).to eq({'success' => true})
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
percy-client-0.2.3 spec/lib/percy/client/builds_spec.rb