diff --git a/resources/static/dialog/resources/state_machine.js b/resources/static/dialog/resources/state_machine.js index ef2dbef54e4e4463c095270a88ec0066d0ff46be..beb9f72d2cc2bad0a89ef92158b2544abc2c79c4 100644 --- a/resources/static/dialog/resources/state_machine.js +++ b/resources/static/dialog/resources/state_machine.js @@ -95,7 +95,7 @@ self.allowPersistent = !!info.allowPersistent; var email = self.requiredEmail = info.requiredEmail; - if(email && !(bid.verifyEmail(email))) { + if(typeof(email) !== "undefined" && !(bid.verifyEmail(email))) { gotoState("doError", "invalidRequiredEmail", { email: email }); } else { diff --git a/resources/static/test/qunit/resources/state_machine_unit_test.js b/resources/static/test/qunit/resources/state_machine_unit_test.js index 6d96c41f36cbf347238b1188f1d228d24ad89c4e..e988f9351decfd052811c81832a7bac1a02329c9 100644 --- a/resources/static/test/qunit/resources/state_machine_unit_test.js +++ b/resources/static/test/qunit/resources/state_machine_unit_test.js @@ -256,6 +256,14 @@ equal(controllerMock.error, true, "error screen is shown"); }); + test("start with empty requiredEmail prints error screen", function() { + mediator.publish("start", { + requiredEmail: "" + }); + + equal(controllerMock.error, true, "error screen is shown"); + }); + test("start with valid requiredEmail goes to auth", function() { mediator.publish("start", { requiredEmail: "testuser@testuser.com"