mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-03 11:50:49 +08:00
init project
This commit is contained in:
80
lib/gitlab-cli/spec/gitlab/cli_spec.rb
Normal file
80
lib/gitlab-cli/spec/gitlab/cli_spec.rb
Normal file
@@ -0,0 +1,80 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Gitlab::CLI do
|
||||
describe ".run" do
|
||||
context "when command is version" do
|
||||
it "should show gem version" do
|
||||
output = capture_output { Gitlab::CLI.run('-v') }
|
||||
expect(output).to eq("Gitlab Ruby Gem #{Gitlab::VERSION}\n")
|
||||
end
|
||||
end
|
||||
|
||||
context "when command is info" do
|
||||
it "should show environment info" do
|
||||
output = capture_output { Gitlab::CLI.run('info') }
|
||||
expect(output).to include("Gitlab endpoint is")
|
||||
expect(output).to include("Gitlab private token is")
|
||||
expect(output).to include("Ruby Version is")
|
||||
expect(output).to include("Gitlab Ruby Gem")
|
||||
end
|
||||
end
|
||||
|
||||
context "when command is help" do
|
||||
it "should show available actions" do
|
||||
output = capture_output { Gitlab::CLI.run('help') }
|
||||
expect(output).to include('Available commands')
|
||||
expect(output).to include('MergeRequests')
|
||||
expect(output).to include('team_members')
|
||||
end
|
||||
end
|
||||
|
||||
context "when command is user" do
|
||||
before do
|
||||
stub_get("/user", "user")
|
||||
@output = capture_output { Gitlab::CLI.run('user') }
|
||||
end
|
||||
|
||||
it "should show executed command" do
|
||||
expect(@output).to include('Gitlab.user')
|
||||
end
|
||||
|
||||
it "should show user data" do
|
||||
expect(@output).to include('name')
|
||||
expect(@output).to include('John Smith')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe ".start" do
|
||||
context "when command with excluded fields" do
|
||||
before do
|
||||
stub_get("/user", "user")
|
||||
args = ['user', '--except=id,email,name']
|
||||
@output = capture_output { Gitlab::CLI.start(args) }
|
||||
end
|
||||
|
||||
it "should show user data with excluded fields" do
|
||||
expect(@output).to_not include('John Smith')
|
||||
expect(@output).to include('bio')
|
||||
expect(@output).to include('created_at')
|
||||
end
|
||||
end
|
||||
|
||||
context "when command with required fields" do
|
||||
before do
|
||||
stub_get("/user", "user")
|
||||
args = ['user', '--only=id,email,name']
|
||||
@output = capture_output { Gitlab::CLI.start(args) }
|
||||
end
|
||||
|
||||
it "should show user data with required fields" do
|
||||
expect(@output).to include('id')
|
||||
expect(@output).to include('name')
|
||||
expect(@output).to include('email')
|
||||
expect(@output).to include('John Smith')
|
||||
expect(@output).to_not include('bio')
|
||||
expect(@output).to_not include('created_at')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user