Sha256: c2f887c372ffc0d143587b5e4e884b33dc2762af2322311ca48ede20142d72de

Contents?: true

Size: 1.33 KB

Versions: 8

Compression:

Stored size: 1.33 KB

Contents

require "spec_helper"

describe "Recipes" do
  let(:env) do
    { "HTTP_ACCEPT" => "application/json" }
  end

  let(:params) do
    {
      name: "name",
      type: 1,
    }
  end

  describe "POST /recipes" do
    context "without required param" do
      before do
        params.delete(:name)
      end

      it "returns 400" do
        post "/recipes", params, env
        response.status.should == 400
      end
    end

    context "with other typed param" do
      before do
        params[:type] = "x"
      end

      it "returns 400" do
        post "/recipes", params, env
        response.status.should == 400
      end
    end

    context "without non-required param" do
      before do
        params.delete(:type)
      end

      it "creates a new recipe" do
        post "/recipes", params, env
        response.status.should == 201
      end
    end

    context "with valid condition", :autodoc do
      it "creates a new recipe" do
        post "/recipes", params, env
        response.status.should == 201
      end
    end

    context "with valid condition (client using Rack::Test)", :autodoc do
      include Rack::Test::Methods
      before do
        header 'Accept', 'application/json'
      end

      it "creates a new recipe" do
        post "/recipes", params
        last_response.status.should == 201
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
autodoc-0.2.5 spec/requests/recipes_spec.rb
autodoc-0.2.4 spec/requests/recipes_spec.rb
autodoc-0.2.3 spec/requests/recipes_spec.rb
autodoc-0.2.2 spec/requests/recipes_spec.rb
autodoc-0.2.1 spec/requests/recipes_spec.rb
autodoc-0.2.0 spec/requests/recipes_spec.rb
autodoc-0.1.9 spec/requests/recipes_spec.rb
autodoc-0.1.8 spec/requests/recipes_spec.rb