diff --git a/app/assets/javascripts/discourse/templates/components/user-fields/dropdown.hbs b/app/assets/javascripts/discourse/templates/components/user-fields/dropdown.hbs index 81edab075f8..568deb553d0 100644 --- a/app/assets/javascripts/discourse/templates/components/user-fields/dropdown.hbs +++ b/app/assets/javascripts/discourse/templates/components/user-fields/dropdown.hbs @@ -4,6 +4,8 @@ {{combo-box id=(concat 'user-' elementId) content=field.options + valueProperty=null + nameProperty=null value=value none=noneLabel onChange=(action (mut value)) diff --git a/test/javascripts/acceptance/preferences-test.js.es6 b/test/javascripts/acceptance/preferences-test.js.es6 index 9f788c1232a..ce5d8f68b11 100644 --- a/test/javascripts/acceptance/preferences-test.js.es6 +++ b/test/javascripts/acceptance/preferences-test.js.es6 @@ -414,3 +414,31 @@ QUnit.test("setting featured topic on profile", async assert => { "clear button is present" ); }); + +acceptance("Custom User Fields", { + loggedIn: true, + site: { + user_fields: [ + { + id: 30, + name: "What kind of pet do you have?", + field_type: "dropdown", + options: ["Dog", "Cat", "Hamster"], + required: true + } + ] + } +}); + +QUnit.test("can select an option from a dropdown", async assert => { + await visit("/u/eviltrout/preferences/profile"); + assert.ok(exists(".user-field"), "it has at least one user field"); + await click(".user-field.dropdown"); + + const field = selectKit( + ".user-field-what-kind-of-pet-do-you-have .combo-box" + ); + await field.expand(); + await field.selectRowByValue("Cat"); + assert.equal(field.header().value(), "Cat", "it sets the value of the field"); +});