Sha256: e603e88ddd395a35622478a72495d401c4e71198adc01d16529667d12b7d46a5

Contents?: true

Size: 1.66 KB

Versions: 9

Compression:

Stored size: 1.66 KB

Contents

# -*- coding: utf-8 -*-
require 'spec_helper'

describe Magellan::Cli::Resources::Team do

  let(:cmd){ Magellan::Cli::Resources::Team.new }

  let(:http_conn){ double(:http_conn, :check_login_auth! => nil) }
  before{ allow(cmd).to receive(:http_conn).and_return(http_conn) }

  describe :list do
    before do
      expect(cmd).to receive(:get_json).and_return([{id: 1, organization_id: 1, name: "team1" }])
      expect($stdout).to receive(:puts)
    end
    it do
      cmd.list
    end
  end

  describe :create do
    describe :success do
      let(:team_list_response) { [{"id" => 1, "name" => "team1"}] }
      before do
        allow(cmd).to receive(:load_selections).and_return({ Magellan::Cli::Resources::Organization.parameter_name => {"id" => 1, "name" => "org1"}})
        expect(cmd).to receive(:post_json).with("/admin/magellan~auth~team/new.json", { "magellan_auth_team" => { "organization_id" => 1, "name" => "team1", "role" => role } })
        # TODO: stub in details...
        allow(cmd).to receive(:get_json).with(any_args).and_return(team_list_response)
        allow(cmd).to receive(:get_json).with(any_args).and_return(team_list_response)
      end
      context "role=reader" do
        let(:role){ "reader" }
        it do
          cmd.create("team1", role)
        end
      end
      context "role=admin" do
        let(:role){ "admin" }
        it do
          cmd.create("team1", role)
        end
      end
    end
    describe :error do
      context "role=owner" do
        let(:role){ "owner" }
        it do
          expect{
            cmd.create("team1", role)
          }.to raise_error(RuntimeError, /ROLE should be/)
        end
      end
    end
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
magellan-cli-0.7.2 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.7.1 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.7.0 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.6.5 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.6.4 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.6.3 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.6.2 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.6.1 spec/magellan/cli/resources/team_spec.rb
magellan-cli-0.6.0 spec/magellan/cli/resources/team_spec.rb