Sha256: 9a38fda2923e629a683fb3c09169f54d06a9b54c83ce5586266ca11fec82e704

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

require 'test_helper'
require 'bbq/test_user'

class TestUser < Bbq::TestUser
  module Commenter
    def comment
    end
  end

  module VideoUploader
    def upload
    end
  end

  module CommentModerator
    def moderate
    end
  end
end

class BbqTestUserTest < Test::Unit::TestCase

  def test_capybara_dsl_methods
    user = TestUser.new
    Capybara::Session::DSL_METHODS.each do |m|
      assert user.respond_to?(m)
    end
  end

  def test_roles
    user = TestUser.new
    %w(comment upload moderate).each { |m| assert !user.respond_to?(m) }

    user.roles(:commenter, "comment_moderator")
    %w(comment moderate).each { |m| assert user.respond_to?(m) }
    assert !user.respond_to?(:upload)

    user.roles(:video_uploader)
    %w(comment upload moderate).each { |m| assert user.respond_to?(m) }
  end

  def test_implicit_user_eyes
    @user = TestUser.new
    @user.visit "/miracle"
    assert_raises(FAILED_ASSERTION) { @user.see!("BBQ") }
    assert_raises(FAILED_ASSERTION) { @user.not_see!("MIRACLE") }
  end

  def test_explicit_user_eyes
    @user = TestUser.new
    @user.visit "/miracle"
    assert @user.not_see?("BBQ")
    assert @user.see?("MIRACLE")
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bbq-0.0.2.beta.1 test/unit/bbq_test_user_test.rb