Sha256: ef31238182fc11fd19b29d5ae738dbf0cab6e99823ed6d44319312f764741d1f

Contents?: true

Size: 1.26 KB

Versions: 19

Compression:

Stored size: 1.26 KB

Contents

require "spec_helper"
require "lol"

include Lol

describe Game do
  it_behaves_like 'Lol model' do
    let(:valid_attributes) { { game_id: 1 } }
  end

  %w(champion_id game_id game_mode game_type invalid ip_earned level map_id spell1 spell2 sub_type team_id).each do |attribute|
    describe "#{attribute} attribute" do
      it_behaves_like 'plain attribute' do
        let(:attribute) { attribute }
        let(:attribute_value) { 'asd' }
      end
    end
  end

  describe 'fellow_players attribute' do
    it_behaves_like 'collection attribute' do
      let(:attribute) { 'fellow_players' }
      let(:attribute_class) { Player }
    end
  end

  describe 'stats attribute' do
    it_behaves_like 'plain attribute' do
      let(:attribute) { 'stats' }
      let(:attribute_value) { 'asd' }
    end

    context 'when it is passed as an hash' do
      subject { Game.new stats: { 'FooBar' => 'baz' } }

      it 'will convert the hash in an openstruct object' do
        expect(subject.stats).to be_a OpenStruct
      end

      it 'will convert each hash key in underscore' do
        expect(subject.stats.foo_bar).to eq 'baz'
      end
    end
  end

  describe 'create_date attribute' do
    it_behaves_like 'time attribute' do
      let(:attribute) { 'create_date' }
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ruby-lol-0.12.2 spec/lol/game_spec.rb
ruby-lol-0.12.1 spec/lol/game_spec.rb
ruby-lol-0.12.0 spec/lol/game_spec.rb
ruby-lol-0.11.6 spec/lol/game_spec.rb
ruby-lol-0.11.5 spec/lol/game_spec.rb
ruby-lol-0.11.4 spec/lol/game_spec.rb
ruby-lol-0.11.3 spec/lol/game_spec.rb
ruby-lol-0.11.2 spec/lol/game_spec.rb
ruby-lol-0.11.1 spec/lol/game_spec.rb
ruby-lol-0.11.0 spec/lol/game_spec.rb
ruby-lol-0.10.0 spec/lol/game_spec.rb
ruby-lol-0.9.19.1 spec/lol/game_spec.rb
ruby-lol-0.9.19 spec/lol/game_spec.rb
ruby-lol-0.9.18 spec/lol/game_spec.rb
ruby-lol-0.9.17 spec/lol/game_spec.rb
ruby-lol-0.9.16 spec/lol/game_spec.rb
ruby-lol-0.9.15 spec/lol/game_spec.rb
ruby-lol-0.9.14 spec/lol/game_spec.rb
ruby-lol-0.9.13 spec/lol/game_spec.rb