Sha256: b943e98b5cf6243cf72c8724d265302472e7d686154e01e13b2400589d33c2d7

Contents?: true

Size: 1.88 KB

Versions: 2

Compression:

Stored size: 1.88 KB

Contents

require 'test_helper'

module Spyke
  class CustomRequestTest < MiniTest::Test
    def test_custom_get_request_from_class
      endpoint = stub_request(:get, 'http://sushi.com/recipes/recent').to_return_json(data: [{ id: 1, title: 'Bread' }])
      assert_equal %w{ Bread }, Recipe.get('/recipes/recent').map(&:title)
      assert_requested endpoint
    end

    def test_get_request_with_prepended_scope
      skip 'wishlisted'
      endpoint = stub_request(:get, 'http://sushi.com/recipes/recent?status=published')
      Recipe.published.get('/recipes/recent')
      assert_requested endpoint
    end

    def test_get_request_with_appended_scope
      skip 'wishlisted'
      endpoint = stub_request(:get, 'http://sushi.com/recipes/recent?status=published')
      Recipe.get('/recipes/recent').published.fetch
      assert_requested endpoint
    end

    def test_custom_get_request_from_class
      endpoint = stub_request(:get, 'http://sushi.com/recipes/recent').to_return_json(data: [{ id: 1, title: 'Bread' }])
      assert_equal %w{ Bread }, Recipe.get('/recipes/recent').map(&:title)
      assert_requested endpoint
    end

    def test_custom_put_request_from_class
      endpoint = stub_request(:put, 'http://sushi.com/recipes/1/publish')
      Recipe.put('/recipes/1/publish')
      assert_requested endpoint
    end

    def test_custom_put_request_from_instance
      endpoint = stub_request(:put, 'http://sushi.com/recipes/1/publish').to_return_json(data: { id: 1, status: 'published' })
      recipe = Recipe.new(id: 1, status: 'unpublished')
      recipe.put('/recipes/:id/publish')

      assert_equal 'published', recipe.status
      assert_requested endpoint
    end

    def test_custom_put_request_from_instance_with_symbol
      endpoint = stub_request(:put, 'http://sushi.com/recipes/1/draft')
      recipe = Recipe.new(id: 1)
      recipe.put(:draft)
      assert_requested endpoint
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spyke-1.0.1 test/custom_request_test.rb
spyke-1.0.0 test/custom_request_test.rb