diff --git a/decidim-system/app/forms/decidim/system/admin_form.rb b/decidim-system/app/forms/decidim/system/admin_form.rb index cba1f1533dc4..637578c60c64 100644 --- a/decidim-system/app/forms/decidim/system/admin_form.rb +++ b/decidim-system/app/forms/decidim/system/admin_form.rb @@ -12,7 +12,7 @@ class AdminForm < Form attribute :password_confirmation, String validates :email, presence: true - validates :password, presence: true, unless: :admin_exists? + validates :password, confirmation: true, presence: true, unless: :admin_exists? validates :password_confirmation, presence: true, unless: :admin_exists? validates :password, password: { email: :email } diff --git a/decidim-system/spec/commands/decidim/system/create_admin_spec.rb b/decidim-system/spec/commands/decidim/system/create_admin_spec.rb index df2bb549f20e..33a1479611c5 100644 --- a/decidim-system/spec/commands/decidim/system/create_admin_spec.rb +++ b/decidim-system/spec/commands/decidim/system/create_admin_spec.rb @@ -42,7 +42,21 @@ module System end end - describe "when the admin doesn't exist" do + describe "when the password does not match confirmation" do + let(:params) do + { + email: "email@foo.bar", + password: "GcvV56wHp5tJ", + password_confirmation: "GcvV56wHp5tJ2" + } + end + + it "broadcasts invalid" do + expect { command.call }.to broadcast(:invalid) + end + end + + describe "when the admin does not exist" do before do create(:admin, email: "email@foo.bar") end