Sha256: 876e634fb7db2bb9bd17f4950bde8a5c972e2ea048ad4d7c9d7fc0f3f34da517

Contents?: true

Size: 1.78 KB

Versions: 1

Compression:

Stored size: 1.78 KB

Contents

require File.expand_path("../spec_helper", __FILE__)

module Danger
  describe Danger::AssignStrategies::RandomStrategy do
    before do
      testing_env.each { |k,v| ENV[k] = "#{v}" }
      @dangerfile = testing_dangerfile

      @mock_client = double(Gitlab::Client)
      @author = Gitlab::User.new(1, 'Nic', 0)
      @members = [@author, Gitlab::User.new(2, 'Tom'), Gitlab::User.new(3, 'Sam')]
      allow(@mock_client).to receive(:fetch_author_for_mr).and_return(@author)
      allow(@mock_client).to receive(:fetch_users_for_group).with(2200).and_return(@members)

      @strategy = AssignStrategies::LeastBusyStrategy.new(client: @mock_client, project: 10, mr: 110, group: 2200)
    end

    it "Assign the one least busy" do
      users_with_pending_mr_review = [@author, Gitlab::User.new(2, 'Tom', 1), Gitlab::User.new(3, 'Sam',2)]
      expect(@mock_client).to receive(:users_with_pending_mr_review).and_return(users_with_pending_mr_review)

      expect(@mock_client).to receive(:assign_mr_to_users) do |project, mr, users|
        expect(project).to be == 10
        expect(mr).to be == 110
        expect(users).target.count eq 1
        expect(users).target[0].username == 'Tom'
      end

      @strategy.assign!(1)
    end

    it "Assign the one least busy (if two are available)" do
      users_with_pending_mr_review = [@author, Gitlab::User.new(2, 'Tom', 1), Gitlab::User.new(3, 'Sam',1)]
      expect(@mock_client).to receive(:users_with_pending_mr_review).and_return(users_with_pending_mr_review)

      expect(@mock_client).to receive(:assign_mr_to_users) do |project, mr, users|
        expect(project).to be == 10
        expect(mr).to be == 110
        expect(users).target.count eq 1
        expect(users).target[0].username == 'Tom'
      end

      @strategy.assign!(1)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
danger-gitlab_reviewbot-1.0.0 spec/least_busy_strategy_spec.rb