Sha256: 3eb6642a70a890e7f5950ce2765b47659a66a8b7b3a95c7036823c2a2450dea7

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Zoom::Actions::User do
  let(:zc) { zoom_client }
  let(:args) { { id: 'eIimBAXqSrWOcB_EOIXTog',
                 first_name: 'Bar',
                 last_name: 'Foo' } }

  describe '#user_update' do
    before :each do
      stub_request(
        :patch,
        zoom_url("/users/#{args[:id]}")
      ).to_return(status: 204, body: json_response('user', 'update'))
    end

    it 'requires id param' do
      expect { zc.user_update(filter_key(args, :id)) }.to raise_error(Zoom::ParameterMissing, [:id].to_s)
    end

    it 'returns the http status code as a number' do
      expect(zc.user_update(args)).to eql(204)
    end
  end

  describe '#user_update!' do
    before :each do
      stub_request(
        :patch,
        zoom_url("/users/#{args[:id]}")
      ).to_return(status: 404, body: json_response('error', 'validation'))
    end

    it 'raises Zoom::Error exception' do
      expect { zc.user_update!(args) }.to raise_error(Zoom::Error)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zoom_rb-0.8.1 spec/lib/zoom/actions/user/update_spec.rb