Sha256: 15dcd518f825dc1164bcc4cc83dc61188711a8f738bfa01826f8b6c1a8b9f5c1

Contents?: true

Size: 1.62 KB

Versions: 9

Compression:

Stored size: 1.62 KB

Contents

require 'test_helper'

class CdnUrlTest < ActiveSupport::TestCase

  setup do
    @original_url = 'https://s3.amazon.com/test_bucket/test_cdn_url_models/id/original.png'
    @model = TestCdnUrlModel.new
    @model.file_url = @original_url
    assert @model.save
  end

  context 'CDN not setup' do

    should 'not respond to errant entry' do
      assert_raises(NoMethodError) { @model.cdn_bad_url }
    end

    should 'return the original url' do
      assert_equal @original_url, @model.file_url
      assert_equal @original_url, @model.cdn_file_url
    end
  end

  context 'CDN setup' do
    setup do
      @cdn_url = 'https://9asdfasd9asd.amazon.com'
      config = SystemConfiguration.configuration
      assert config.update cdn_url: @cdn_url
    end
    should 'return CDN url' do
      assert_equal @original_url, @model.file_url
      assert_not_equal @original_url, @model.cdn_file_url
      assert_equal "#{@cdn_url}/test_cdn_url_models/id/original.png", @model.cdn_file_url
    end
    should 'return CDN url with size' do
      assert_equal "#{@original_url}?size=medium", @model.image_url('medium')
      assert_equal "#{@cdn_url}/test_cdn_url_models/id/original.png?size=medium", @model.cdn_image_url('medium')
    end
    should 'return url' do
      assert @model.update file_url: 'https://s3.amazon.com/test_bucket/another_model/id/original.png'
      assert_equal 'https://s3.amazon.com/test_bucket/another_model/id/original.png', @model.cdn_file_url
    end
  end
end

class TestCdnUrlModel
  include Mongoid::Document
  include CdnUrl
  field :file_url, type: String

  def image_url(size)
    "#{file_url}?size=#{size}"
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
web47core-0.1.4 test/models/concerns/cdn_url_test.rb
web47core-0.1.3 test/models/concerns/cdn_url_test.rb
web47core-0.1.2 test/models/concerns/cdn_url_test.rb
web47core-0.1.1 test/models/concerns/cdn_url_test.rb
web47core-0.1.0 test/models/concerns/cdn_url_test.rb
web47core-0.0.10 test/models/concerns/cdn_url_test.rb
web47core-0.0.9 test/models/concerns/cdn_url_test.rb
web47core-0.0.8 test/models/concerns/cdn_url_test.rb
web47core-0.0.7 test/models/concerns/cdn_url_test.rb