Sha256: 9eb8135997ccfc840cccee9132f3d6e5ce032213aa6690c8118c3608ab4ae12c

Contents?: true

Size: 1.88 KB

Versions: 27

Compression:

Stored size: 1.88 KB

Contents

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

describe Magellan::Cli::Command do
  let(:command){ Magellan::Cli::Command.new }
  let(:string){ "string" }

  describe :login do
    describe :intaractive do
      before do
        $stdout = StringIO.new
        allow(command).to receive(:select_single_resources)
        allow(command).to receive(:login!).and_return("OK")
        allow(command).to receive(:login_by_token!).and_return("OK")
      end
      it "nothing options" do
        allow($stdin).to receive(:gets).and_return(string).once
        allow($stdin).to receive(:noecho).and_return(string).once
        expect(command.login).to eq "OK"
        expect($stdout.string).to eq "email: password: \n"
      end

      it "nothing options" do
        allow($stdin).to receive(:gets  ).and_return(string).once # email
        allow($stdin).to receive(:noecho).and_return("\n").twice  # password
        expect(command.login).to eq "OK" 
        expect($stdout.string).to eq "email: password: \nauthentication_token: \n"
      end

      it "only email" do
        allow($stdin).to receive(:noecho).and_return(string).twice
        command.options = Thor::CoreExt::HashWithIndifferentAccess.new email: string
        expect(command.login).to eq "OK"
        expect($stdout.string).to eq "password: \n"
      end

      it "only password" do
        allow($stdin).to receive(:gets).and_return(string).once
        command.options = Thor::CoreExt::HashWithIndifferentAccess.new password: string
        expect(command.login).to eq "OK"
        expect($stdout.string).to eq "email: "
      end

      it "only authentication_token" do
        allow($stdin).to receive(:gets).and_return(string).once
        command.options = Thor::CoreExt::HashWithIndifferentAccess.new authentication_token: string
        expect(command.login).to eq "OK"
        expect($stdout.string).to eq "email: "
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
magellan-cli-0.11.1 spec/magellan/cli/command_spec.rb
magellan-cli-0.11.0 spec/magellan/cli/command_spec.rb
magellan-cli-0.10.0 spec/magellan/cli/command_spec.rb
magellan-cli-0.9.1 spec/magellan/cli/command_spec.rb
magellan-cli-0.9.0 spec/magellan/cli/command_spec.rb
magellan-cli-0.8.3 spec/magellan/cli/command_spec.rb
magellan-cli-0.8.2 spec/magellan/cli/command_spec.rb
magellan-cli-0.8.1 spec/magellan/cli/command_spec.rb
magellan-cli-0.8.0 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.11 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.10 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.9 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.8 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.7 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.6 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.5 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.4 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.3 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.2 spec/magellan/cli/command_spec.rb
magellan-cli-0.7.1 spec/magellan/cli/command_spec.rb