Sha256: a8fc36829a6cc1ec8ae193cbd1553dd834c4fbb5fd014971444345c69970c088

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require "test_helper"

class ApplicationPolicy
  miau :nein, :ja

  def ja
    true
  end
end

class SiiPolicy < ApplicationPolicy
  miau :no, :si

  def si
    true
  end

  def run
    puts :run # use by capture_io
    true
  end
end

describe Miau, "run2" do
  let(:storage) { Miau::PolicyStorage.instance }
  let(:miau_run) { Miau::PolicyRun.instance }
  let(:policy) { SiiPolicy.new }
  let(:user) { "User" }

  def test_find_methods_si
    assert_equal :si, miau_run.find_methods(policy, :sii, :si)
  end

  def test_find_methods_no
    assert_equal :si, miau_run.find_methods(policy, :sii, :no)
  end

  def test_find_methods_unknown
    refute miau_run.find_methods(policy, :sii, :unknown)
  end

  def test_find_methods_ja
    assert_equal :ja, miau_run.find_methods(policy, :sii, :ja)
  end

  def test_find_methods_nein
    assert_equal :ja, miau_run.find_methods(policy, :sii, :ja)
  end

  def test_runs
    out, _err = capture_io do
      miau_run.runs(policy, :run)
    end

    assert_equal "run\n", out
  end

  def test_raise_undef
    assert_raises(Miau::NotDefinedError) {
      miau_run.raise_undef(:sii, :ja)
    }
  end

  def test_raise_authorize
    assert_raises(Miau::NotAuthorizedError) {
      miau_run.raise_authorize(:sii, :ja)
    }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
miau-1.1.6 test/run_test.rb