Welcome to mirror list, hosted at ThFree Co, Russian Federation.

20210811122206_update_external_project_bots_spec.rb « migrations « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a9c7b485cc69e088fa98fa6ff77f98a1cf147e1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

require 'spec_helper'
require_migration!('update_external_project_bots')

RSpec.describe UpdateExternalProjectBots, :migration do
  def create_user(**extra_options)
    defaults = { projects_limit: 0, email: "#{extra_options[:username]}@example.com" }

    table(:users).create!(defaults.merge(extra_options))
  end

  it 'sets bot users as external if were created by external users' do
    internal_user = create_user(username: 'foo')
    external_user = create_user(username: 'bar', external: true)

    internal_project_bot = create_user(username: 'foo2', user_type: 6, created_by_id: internal_user.id, external: false)
    external_project_bot = create_user(username: 'bar2', user_type: 6, created_by_id: external_user.id, external: false)

    migrate!

    expect(table(:users).find(internal_project_bot.id).external).to eq false
    expect(table(:users).find(external_project_bot.id).external).to eq true
  end
end