Sha256: c221e404d9dd4522b32ab66055bd817eaf755de9bc191f7b0910cc656c6f44cc

Contents?: true

Size: 1.66 KB

Versions: 87

Compression:

Stored size: 1.66 KB

Contents

package_require("ree_routes/dsl")

RSpec.describe ReeRoutes::DSL, type: [:autoclean] do
  before :all do
    Ree.enable_irb_mode

    module ReeRoutesTest
      include Ree::PackageDSL

      package
    end

    class ReeRoutesTest::EmptyRoutes
      include ReeRoutes::DSL

      routes :empty_routes do
      end
    end

    class ReeRoutesTest::Cmd
      include Ree::FnDSL

      fn :cmd

      def call
      end
    end

    class ReeRoutesTest::Serializer
      include ReeMapper::DSL

      mapper :serializer

      build_mapper.use(:serialize) do
        integer :id
      end
    end

    class ReeRoutesTest::Caster
      include ReeMapper::DSL

      mapper :caster

      build_mapper.use(:cast) do
        integer :id
      end
    end

    class ReeRoutesTest::Routes
      include ReeRoutes::DSL

      routes :routes do
        default_warden_scope :user

        post "users" do
          summary "Test route"
          action :cmd, from: :ree_routes_test
          serializer :serializer, from: :ree_routes_test
          respond_to :json
        end

        get "files.csv" do
          summary "Test route"
          action :cmd, from: :ree_routes_test
          respond_to :csv
        end
      end
    end
  end

  after :all do
    Ree.disable_irb_mode
  end

  it {
    expect(ReeRoutesTest::EmptyRoutes.new).to eq([])
  }

  it {
    routes = ReeRoutesTest::Routes.new

    expect(routes.size).to eq(2)

    post_route = routes.first
    csv_route = routes.last

    expect(post_route.serializer.name).to eq(:serializer)
    expect(post_route.action.name).to eq(:cmd)
    expect(post_route.respond_to).to eq(:json)

    expect(csv_route.respond_to).to eq(:csv)
  }
end

Version data entries

87 entries across 87 versions & 1 rubygems

Version Path
ree_lib-1.1.1 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.1.0 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_routes/spec/ree_routes/dsl_spec.rb