Sha256: 0850ce67cec47264af898387d6f253ba855a7f7e8bbbb6a0b75419f1171f50d2

Contents?: true

Size: 1.36 KB

Versions: 4

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe Vhx::HelperMethods do
  let(:user_response){ JSON.parse(File.read("spec/fixtures/sample_user_response.json")) }
  let(:vhx_object){Vhx::User.new(user_response)}

  before{
    Vhx.setup({api_key: 'testapikey'})
  }

  describe '#get_klass' do
    context 'class method' do
      it 'determines class' do
        expect(Vhx::User.get_klass).to eq('User')
      end
    end

    context 'instance method' do
      it 'determines class' do
        expect(vhx_object.get_klass).to eq('User')
      end
    end
  end

  describe '#get_hypermedia' do
    context 'hypermedia parameter' do
      it 'returns hypermedia parameter' do
        resource_url = 'https://api.vhx.tv/users/1560703'
        expect(Vhx::User.get_hypermedia(resource_url)).to eq(resource_url)
      end
    end

    context 'id parameter' do
      it 'converts to hypermedia path' do
        expect(vhx_object.get_hypermedia(1560703)).to eq 'https://api.vhx.tv/users/1560703'
      end

      context 'klass specified' do
        it 'applies klass parameter' do
          expect(vhx_object.get_hypermedia(1560703, 'Video')).to eq 'https://api.vhx.tv/videos/1560703'
        end
      end

      context 'klass not specified' do
        it 'determines klass' do
          expect(vhx_object.get_hypermedia(1560703)).to eq 'https://api.vhx.tv/users/1560703'
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vhx-ruby-0.0.12 spec/utilities/vhx_helper_spec.rb
vhx-ruby-0.0.10 spec/utilities/vhx_helper_spec.rb
vhx-ruby-0.0.9 spec/utilities/vhx_helper_spec.rb
vhx-ruby-0.0.8 spec/utilities/vhx_helper_spec.rb