From dbb532bae7d8c68f6efd91a3d8be8aa51ed2d5b9 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Tue, 31 Oct 2023 14:44:27 +0100 Subject: [PATCH] FIX: Full name validation regression (#24178) Regressed in 351cbab1a8568c06e138cf5d31fa66552c3ef352 --- .../app/components/modal/create-account.js | 2 ++ .../tests/acceptance/create-account-test.js | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/app/assets/javascripts/discourse/app/components/modal/create-account.js b/app/assets/javascripts/discourse/app/components/modal/create-account.js index 91db075f5f3..897d7dc6c7b 100644 --- a/app/assets/javascripts/discourse/app/components/modal/create-account.js +++ b/app/assets/javascripts/discourse/app/components/modal/create-account.js @@ -53,6 +53,8 @@ export default class CreateAccount extends Component.extend( @alias("model.authOptions") authOptions; @alias("model.accountEmail") accountEmail; @alias("model.accountUsername") accountUsername; + // For NameValidation mixin + @alias("model.accountName") accountName; init() { super.init(...arguments); diff --git a/app/assets/javascripts/discourse/tests/acceptance/create-account-test.js b/app/assets/javascripts/discourse/tests/acceptance/create-account-test.js index 851e2fde3ef..84bb6725754 100644 --- a/app/assets/javascripts/discourse/tests/acceptance/create-account-test.js +++ b/app/assets/javascripts/discourse/tests/acceptance/create-account-test.js @@ -79,3 +79,38 @@ acceptance("Create Account", function () { assert.verifySteps(["buildPostForm"]); }); }); + +acceptance("Create Account - full_name_required", function (needs) { + needs.settings({ full_name_required: true }); + + test("full_name_required", async function (assert) { + await visit("/"); + await click("header .sign-up-button"); + + await fillIn("#new-account-email", "z@z.co"); + await fillIn("#new-account-username", "good-tuna"); + await fillIn("#new-account-password", "cool password bro"); + + await click(".modal-footer .btn-primary"); + assert.dom("#fullname-validation").hasText(I18n.t("user.name.required")); + + await fillIn("#new-account-name", "Full Name"); + + pretender.post("/u", (request) => { + assert.step("request"); + const data = parsePostData(request.requestBody); + assert.strictEqual(data.name, "Full Name"); + assert.strictEqual(data.password, "cool password bro"); + assert.strictEqual(data.email, "z@z.co"); + assert.strictEqual(data.username, "good-tuna"); + return response({ success: true }); + }); + + await click(".modal-footer .btn-primary"); + assert + .dom(".modal-footer .btn-primary:disabled") + .exists("create account is disabled"); + + assert.verifySteps(["request"]); + }); +});