Commit 85f2dcf5 authored by Mike Greiling's avatar Mike Greiling

prevent u2f tests from triggering a form submission while testing

parent f4fca2de
...@@ -25,19 +25,20 @@ ...@@ -25,19 +25,20 @@
document.querySelector('#js-login-2fa-device'), document.querySelector('#js-login-2fa-device'),
document.querySelector('.js-2fa-form') document.querySelector('.js-2fa-form')
); );
// bypass automatic form submission within renderAuthenticated
spyOn(this.component, 'renderAuthenticated').and.returnValue(true);
return this.component.start(); return this.component.start();
}); });
it('allows authenticating via a U2F device', function() { it('allows authenticating via a U2F device', function() {
var authenticatedMessage, deviceResponse, inProgressMessage; var inProgressMessage;
inProgressMessage = this.container.find("p"); inProgressMessage = this.container.find("p");
expect(inProgressMessage.text()).toContain("Trying to communicate with your device"); expect(inProgressMessage.text()).toContain("Trying to communicate with your device");
this.u2fDevice.respondToAuthenticateRequest({ this.u2fDevice.respondToAuthenticateRequest({
deviceData: "this is data from the device" deviceData: "this is data from the device"
}); });
authenticatedMessage = this.container.find("p"); expect(this.component.renderAuthenticated).toHaveBeenCalledWith('{"deviceData":"this is data from the device"}');
deviceResponse = this.container.find('#js-device-response');
expect(authenticatedMessage.text()).toContain('We heard back from your U2F device. You have been authenticated.');
return expect(deviceResponse.val()).toBe('{"deviceData":"this is data from the device"}');
}); });
return describe("errors", function() { return describe("errors", function() {
it("displays an error message", function() { it("displays an error message", function() {
...@@ -51,7 +52,7 @@ ...@@ -51,7 +52,7 @@
return expect(errorMessage.text()).toContain("There was a problem communicating with your device"); return expect(errorMessage.text()).toContain("There was a problem communicating with your device");
}); });
return it("allows retrying authentication after an error", function() { return it("allows retrying authentication after an error", function() {
var authenticatedMessage, retryButton, setupButton; var retryButton, setupButton;
setupButton = this.container.find("#js-login-u2f-device"); setupButton = this.container.find("#js-login-u2f-device");
setupButton.trigger('click'); setupButton.trigger('click');
this.u2fDevice.respondToAuthenticateRequest({ this.u2fDevice.respondToAuthenticateRequest({
...@@ -64,8 +65,7 @@ ...@@ -64,8 +65,7 @@
this.u2fDevice.respondToAuthenticateRequest({ this.u2fDevice.respondToAuthenticateRequest({
deviceData: "this is data from the device" deviceData: "this is data from the device"
}); });
authenticatedMessage = this.container.find("p"); expect(this.component.renderAuthenticated).toHaveBeenCalledWith('{"deviceData":"this is data from the device"}');
return expect(authenticatedMessage.text()).toContain("We heard back from your U2F device. You have been authenticated.");
}); });
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment