Sha256: 9cb0e3553a5eacbf86acc20d3d05e952b3c47f75b68e66a49e5efacdd944eef9

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

require 'test_helper'
require 'integrity/notifier/test'
require 'integrity/notifier/tumblr'

begin
  require "redgreen"
rescue LoadError
end

class IntegrityTumblrTest < Test::Unit::TestCase
  include Integrity::Notifier::Test

  def notifier
    "Tumblr"
  end

  context "A tumblr-based notifier" do
    setup { setup_database }

    should "register itself" do
      assert_equal Integrity::Notifier::Tumblr, 
                   Integrity::Notifier.available["Tumblr"]
    end

    should "have a configuration form" do
      assert_form_have_option "email",    "foo@example.org"
      assert_form_have_option "password", "secret"
    end

    [:successful, :failed, :pending].each do |status|
      should "post a notification to the tumblelog after completing a #{status} build" do
        commit = Integrity::Commit.gen(status)
        config = { :email => "foo@example.org", :password => "secret" }
        notifier = Integrity::Notifier::Tumblr.new(commit, config)

        mock(Integrity::Notifier::TumblrClient).post(config['email'], config['password'], notifier.short_message, notifier.full_message)

        notifier.deliver!
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
matflores-integrity-tumblr-0.1.0 test/integrity-tumblr_test.rb
matflores-integrity-tumblr-0.1.1 test/integrity-tumblr_test.rb
integrity-tumblr-0.1.1 test/integrity-tumblr_test.rb