Commit 98a45e2b authored by Rubén Dávila's avatar Rubén Dávila

Add more specs and some minor improvements

parent 473bf37c
...@@ -18,6 +18,7 @@ module Gitlab ...@@ -18,6 +18,7 @@ module Gitlab
def headers def headers
{ {
"Accept" => 'application/json', "Accept" => 'application/json',
'Content-Type' => 'application/json',
"X-Admin-Email" => ENV['SUBSCRIPTION_PORTAL_ADMIN_EMAIL'], "X-Admin-Email" => ENV['SUBSCRIPTION_PORTAL_ADMIN_EMAIL'],
"X-Admin-Token" => ENV['SUBSCRIPTION_PORTAL_ADMIN_TOKEN'] "X-Admin-Token" => ENV['SUBSCRIPTION_PORTAL_ADMIN_TOKEN']
} }
...@@ -29,9 +30,9 @@ module Gitlab ...@@ -29,9 +30,9 @@ module Gitlab
case http_response.response case http_response.response
when Net::HTTPSuccess when Net::HTTPSuccess
response.success = true response.success = true
response.data = JSON.parse(response.body) response.data = JSON.parse(http_response.body) rescue nil
when Net::HTTPUnprocessableEntity when Net::HTTPUnprocessableEntity
response.data = JSON.parse(response.body) rescue nil response.data = JSON.parse(http_response.body) rescue nil
else else
response.data = { errors: "HTTP status code: #{http_response.code}" } response.data = { errors: "HTTP status code: #{http_response.code}" }
end end
......
# frozen_string_literal: true
require 'spec_helper'
describe Gitlab::SubscriptionPortal::Client do
describe '#create_trial_account' do
let(:http_response) { nil }
let(:httparty_response) { double(code: http_response.code, response: http_response, body: {}.to_json) }
subject do
described_class.new.create_trial_account({})
end
context 'when response is successful' do
let(:http_response) { Net::HTTPSuccess.new(1.0, '201', 'OK') }
it 'has a successful status' do
allow(Gitlab::HTTP).to receive(:post).and_return(httparty_response)
expect(subject.success).to eq(true)
end
end
context 'when response code is 422' do
let(:http_response) { Net::HTTPUnprocessableEntity.new(1.0, '422', 'Error') }
it 'has a unprocessable entity status' do
allow(Gitlab::HTTP).to receive(:post).and_return(httparty_response)
expect(subject.success).to eq(false)
end
end
context 'when response code is generic' do
let(:http_response) { Net::HTTPServerError.new(1.0, '500', 'Error') }
it 'has a server error status' do
allow(Gitlab::HTTP).to receive(:post).and_return(httparty_response)
expect(subject.success).to eq(false)
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment