49 lines
1.2 KiB
Ruby
49 lines
1.2 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'spec_helper'
|
||
|
|
||
|
RSpec.describe NamespaceSettings::UpdateService do
|
||
|
let(:user) { create(:user) }
|
||
|
let(:group) { create(:group) }
|
||
|
let(:settings) { {} }
|
||
|
|
||
|
subject(:service) { described_class.new(user, group, settings) }
|
||
|
|
||
|
describe "#execute" do
|
||
|
context "group has no namespace_settings" do
|
||
|
before do
|
||
|
group.namespace_settings.destroy!
|
||
|
end
|
||
|
|
||
|
it "builds out a new namespace_settings record" do
|
||
|
expect do
|
||
|
service.execute
|
||
|
end.to change { NamespaceSetting.count }.by(1)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "group has a namespace_settings" do
|
||
|
before do
|
||
|
service.execute
|
||
|
end
|
||
|
|
||
|
it "doesn't create a new namespace_setting record" do
|
||
|
expect do
|
||
|
service.execute
|
||
|
end.not_to change { NamespaceSetting.count }
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "updating :default_branch_name" do
|
||
|
let(:example_branch_name) { "example_branch_name" }
|
||
|
let(:settings) { { default_branch_name: example_branch_name } }
|
||
|
|
||
|
it "changes settings" do
|
||
|
expect { service.execute }
|
||
|
.to change { group.namespace_settings.default_branch_name }
|
||
|
.from(nil).to(example_branch_name)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|