Sha256: 3593eb3b9e05e971a156efe3ee42a030e29620c9be0fc2ecdbbee3edf7e4021e

Contents?: true

Size: 1.41 KB

Versions: 16

Compression:

Stored size: 1.41 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../helpers/resource_test_helper')

class CategoriesGetManyResourceTest < ResourceTestCase

  include DataCatalog

  def app; Categories end

  before do
    unless 0 == (c = Category.count)
      raise "Expected 0 for Category.count, found #{c}"
    end
    @categories = 3.times.map do |i|
      create_category(:name => "Category #{i}")
    end
  end
  
  after do
    @categories.each { |x| x.destroy } if @categories
  end
  
  CATEGORIES = ["Category 0", "Category 1", "Category 2"].sort

  context "get /" do
    context "anonymous" do
      before do
        get "/"
      end
    
      use "return 401 because the API key is missing"
    end
  
    context "incorrect API key" do
      before do
        get "/", :api_key => BAD_API_KEY
      end
  
      use "return 401 because the API key is invalid"
    end
  end

  %w(basic curator admin).each do |role|
    context "#{role} : get /" do
      before do
        get "/", :api_key => api_key_for(role)
      end
  
      use "return 200 Ok"
      
      test "body should have 3 categories" do
        assert_equal 3, parsed_response_body.length
      end
      
      test "body should have correct category names" do
        actual = parsed_response_body.map { |e| e["name"] }
        assert_equal CATEGORIES, actual.sort
      end
      
      docs_properties %w(name log sources id created_at updated_at)
    end
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
sinatra_resource-0.4.4 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.4.3 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.4.2 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.4.1 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.4.0 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.6 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.5 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.4 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.3 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.2 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.1 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.3.0 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.2.6 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.2.5 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.2.4 examples/datacatalog/test/resources/categories/categories_get_many_test.rb
sinatra_resource-0.2.3 examples/datacatalog/test/resources/categories/categories_get_many_test.rb