Sha256: d65bc3961db9a7d701df51264407af31fe53fa56f306ae85fb955ae51af824a0

Contents?: true

Size: 2 KB

Versions: 5

Compression:

Stored size: 2 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe Pupa::VoteEvent do
  let :object do
    Pupa::VoteEvent.new(identifier: '1', organization_id: 'legislative-council-of-hong-kong')
  end

  describe '#to_s' do
    it 'should return a human-readable string' do
      expect(object.to_s).to eq('1 in legislative-council-of-hong-kong')
    end
  end

  describe '#group_results' do
    it 'should symbolize keys' do
      object.group_results = [{'result' => 'pass', 'group' => {'name' => 'Functional constituencies'}}]
      expect(object.group_results).to eq([{result: 'pass', group: {name: 'Functional constituencies'}}])
    end
  end

  describe '#add_group_result' do
    it 'should add a group result' do
      object.add_group_result('pass', group: {name: 'Functional constituencies'})
      expect(object.group_results).to eq([{result: 'pass', group: {name: 'Functional constituencies'}}])
    end

    it 'should not add a group result without a result' do
      object.add_group_result(nil)
      object.add_group_result('')
      expect(object.group_results.blank?).to eq(true)
    end
  end

  describe '#counts' do
    it 'should symbolize keys' do
      object.counts = [{'option' => 'yes', 'value' => 9, 'group' => {'name' => 'Functional constituencies'}}]
      expect(object.counts).to eq([{option: 'yes', value: 9, group: {name: 'Functional constituencies'}}])
    end
  end

  describe '#add_count' do
    it 'should add a count' do
      object.add_count('yes', 9, group: {name: 'Functional constituencies'})
      expect(object.counts).to eq([{option: 'yes', value: 9, group: {name: 'Functional constituencies'}}])
    end

    it 'should not add a contact detail without an option' do
      object.add_count(nil, 9)
      object.add_count('', 9)
      expect(object.counts.blank?).to eq(true)
    end

    it 'should not add a contact detail without a value' do
      object.add_count('yes', nil)
      object.add_count('yes', '')
      expect(object.counts.blank?).to eq(true)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pupa-0.2.4 spec/models/vote_event_spec.rb
pupa-0.2.3 spec/models/vote_event_spec.rb
pupa-0.2.2 spec/models/vote_event_spec.rb
pupa-0.2.1 spec/models/vote_event_spec.rb
pupa-0.2.0 spec/models/vote_event_spec.rb