Sha256: e0587363d73e4d7a489ed0d4860aac6cf7f381ed96025fd41f254a968c24e6a7

Contents?: true

Size: 1.66 KB

Versions: 35

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

module Quby::Answers::Entities
  describe Outcome do
    describe '#action' do
      it 'returns :alarm if any score is alarming' do
        outcome = Outcome.new(scores: {tot: {label: "Totaal", value: 10, status: "alarm"},
                                       soc: {label: "Sociaal", value: 5, status: "attention"}})
        expect(outcome.action).to eq :alarm
      end

      it 'returns :alarm if an answer to a question is alarming' do
        outcome = Outcome.new(actions: {alarm: [:v_1]})
        expect(outcome.action).to eq :alarm
      end

      it 'returns :attention if nothing is alarming and score is attention-worthy' do
        outcome = Outcome.new(scores: {tot: {label: 'Totaal', value: 10, status: "attention"}})
        expect(outcome.action).to eq :attention
      end

      it 'returns :attention if nothing is alarming and an answer to a question is attention-worthy' do
        outcome = Outcome.new(actions: {alarm: [], attention: [:v_1]})
        expect(outcome.action).to eq :attention
      end

      it 'returns nil if all scores and answers are neither alarming nor attention-worthy' do
        outcome = Outcome.new(scores: {tot: {label: 'Totaal', value: 10}},
                              actions: {alarm: [], attention: []})
        expect(outcome.action).to be_nil
      end

      it 'works with symbols as well as keys for score statusses' do
        outcome = Outcome.new(scores: {tot: {label: "Totaal", value: 10, status: :alarm},
                                       soc: {label: "Sociaal", value: 5, status: "attention"}})
        expect(outcome.action).to eq :alarm
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
quby-5.6.7 spec/quby/answers/entities/outcome_spec.rb
quby-5.6.6 spec/quby/answers/entities/outcome_spec.rb
quby-5.6.5 spec/quby/answers/entities/outcome_spec.rb
quby-5.6.3 spec/quby/answers/entities/outcome_spec.rb
quby-5.6.2 spec/quby/answers/entities/outcome_spec.rb
quby-5.6.1 spec/quby/answers/entities/outcome_spec.rb
quby-5.6.0 spec/quby/answers/entities/outcome_spec.rb
quby-5.5.0 spec/quby/answers/entities/outcome_spec.rb
quby-5.4.0 spec/quby/answers/entities/outcome_spec.rb
quby-5.3.1 spec/quby/answers/entities/outcome_spec.rb
quby-5.3.0 spec/quby/answers/entities/outcome_spec.rb
quby-5.2.0 spec/quby/answers/entities/outcome_spec.rb
quby-5.1.3 spec/quby/answers/entities/outcome_spec.rb
quby-5.1.2 spec/quby/answers/entities/outcome_spec.rb
quby-5.1.1 spec/quby/answers/entities/outcome_spec.rb
quby-5.1.0 spec/quby/answers/entities/outcome_spec.rb
quby-5.0.5 spec/quby/answers/entities/outcome_spec.rb
quby-5.0.4 spec/quby/answers/entities/outcome_spec.rb
quby-5.0.3 spec/quby/answers/entities/outcome_spec.rb
quby-5.0.2 spec/quby/answers/entities/outcome_spec.rb