Sha256: 0429a975c0b75ae93810726725338f2a1089d311f25bae55b210a640e36909d1

Contents?: true

Size: 1.97 KB

Versions: 1

Compression:

Stored size: 1.97 KB

Contents

ENV['RACK_ENV'] = 'test'
require_relative 'spec_helper'
require 'rack/test'
require 'json'

describe Api::Web do
  include Rack::Test::Methods

  def app
    Api::Web.new
  end

  before(:all) do
    AuthManager::Base.redis_del({list: 'applications'})
    AuthManager::Base.redis_del({ list: 'users' })
    AuthManager::Base.redis_del({ list: 'users_sessions' })
    AuthManager::Base.redis_del({ list: 'applications_sessions' } )
    AuthManager::Base.redis_sadd({list: 'users',object: {login: 'a login',password: 'a password'}})
    AuthManager::Base.redis_sadd({list: 'applications',object: {api_key: 'an api_key'}})
  end

  context "POST '/apps'" do
    app = create_object_for('app')
    it "returns 200 when an object is created" do
      post '/apps', app
      expect(last_response.status).to eq(200)
    end


    it "returns 400 when the creation fails" do
      post '/apps', app
      expect(last_response.status).to eq(400)
    end

  end

  context "POST '/users'" do
    user = create_object_for('user')
    it "returns 200 when a object is created" do
      post '/users', user
      expect(last_response.status).to eq(200)
    end


    it "returns 400 when the creation fails" do
      post '/users', user
      expect(last_response.status).to eq(400)
    end
  end

  context 'When a user attemps to log in' do
    it 'returns 200 code status for success' do
      post '/users/connect', parameter_for('user')
      expect(last_response.status).to eq(200)
    end
    it 'returns 400 code status for faillure' do
      post '/users/connect', bad_parameter_for('user')
      expect(last_response.status).to eq(400)
    end
  end

  context 'When an app attemps to log in' do
    it 'returns 200 code status for success' do
      post '/apps/connect', parameter_for('app')
      expect(last_response.status).to eq(200)
    end

    it 'returns 400 code status for faillure' do
      post '/apps/connect', bad_parameter_for('app')
      expect(last_response.status).to eq(400)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
recommender_api-0.0.2 spec/web_spec.rb