import { acceptance } from "helpers/qunit-helpers"; acceptance("Create Account - User Fields", { site: { user_fields: [{"id":34,"name":"I've read the terms of service","field_type":"confirm","required":true}, {"id":35,"name":"What is your pet's name?","field_type":"text","required":true}, {"id":36,"name":"What's your dad like?","field_type":"text","required":false}] } }); QUnit.test("create account with user fields", assert => { visit("/"); click("header .sign-up-button"); andThen(() => { assert.ok(exists('.create-account'), "it shows the create account modal"); assert.ok(exists('.user-field'), "it has at least one user field"); assert.ok(exists('.modal-footer .btn-primary:disabled'), 'create account is disabled at first'); }); fillIn('#new-account-name', 'Dr. Good Tuna'); fillIn('#new-account-password', 'cool password bro'); fillIn('#new-account-email', 'good.tuna@test.com'); fillIn('#new-account-username', 'goodtuna'); andThen(() => { assert.ok(exists('#username-validation.good'), 'the username validation is good'); assert.ok(exists('.modal-footer .btn-primary:disabled'), 'create account is still disabled due to lack of user fields'); }); fillIn(".user-field input[type=text]:first", "Barky"); andThen(() => { assert.ok(exists('.modal-footer .btn-primary:disabled'), 'create account is disabled because field is not checked'); }); click(".user-field input[type=checkbox]"); andThen(() => { assert.not(exists('.modal-footer .btn-primary:disabled'), 'create account is enabled because field is not checked'); }); click(".user-field input[type=checkbox]"); andThen(() => { assert.ok(exists('.modal-footer .btn-primary:disabled'), 'unclicking the checkbox disables the submit'); }); });