about summary refs log tree commit diff
path: root/spec/models/form/admin_settings_spec.rb
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2023-03-16 23:09:53 +0100
committerGitHub <noreply@github.com>2023-03-16 23:09:53 +0100
commitf5daa20f2a90098c9d689c5ec9d95ce9887b3a33 (patch)
treea225407cb43edf3fa9d9ac0100021a380e11ff91 /spec/models/form/admin_settings_spec.rb
parent6a0ed45aa3f11f0343a7be556b36b4d075ba08df (diff)
parent32418f0ff3e7f25ca67334585d6d8442b34cb4af (diff)
Merge pull request #2134 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'spec/models/form/admin_settings_spec.rb')
-rw-r--r--spec/models/form/admin_settings_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/models/form/admin_settings_spec.rb b/spec/models/form/admin_settings_spec.rb
new file mode 100644
index 000000000..0dc2d881a
--- /dev/null
+++ b/spec/models/form/admin_settings_spec.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe Form::AdminSettings do
+  describe 'validations' do
+    describe 'site_contact_username' do
+      context 'with no accounts' do
+        it 'is not valid' do
+          setting = described_class.new(site_contact_username: 'Test')
+          setting.valid?
+
+          expect(setting).to model_have_error_on_field(:site_contact_username)
+        end
+      end
+
+      context 'with an account' do
+        before { Fabricate(:account, username: 'Glorp') }
+
+        it 'is not valid when account doesnt match' do
+          setting = described_class.new(site_contact_username: 'Test')
+          setting.valid?
+
+          expect(setting).to model_have_error_on_field(:site_contact_username)
+        end
+
+        it 'is valid when account matches' do
+          setting = described_class.new(site_contact_username: 'Glorp')
+          setting.valid?
+
+          expect(setting).to_not model_have_error_on_field(:site_contact_username)
+        end
+      end
+    end
+  end
+end