diff --git a/spec/javascripts/fixtures/u2f.rb b/spec/javascripts/fixtures/u2f.rb
new file mode 100644
index 0000000000000000000000000000000000000000..c9c0b89123766f4a83f535226955ac36e725b964
--- /dev/null
+++ b/spec/javascripts/fixtures/u2f.rb
@@ -0,0 +1,43 @@
+require 'spec_helper'
+
+context 'U2F' do
+  include JavaScriptFixturesHelpers
+
+  let(:user) { create(:user, :two_factor_via_u2f) }
+
+  before(:all) do
+    clean_frontend_fixtures('u2f/')
+  end
+
+  describe SessionsController, '(JavaScript fixtures)', type: :controller do
+    render_views
+
+    before do
+      @request.env['devise.mapping'] = Devise.mappings[:user]
+    end
+
+    it 'u2f/authenticate.html.raw' do |example|
+      allow(controller).to receive(:find_user).and_return(user)
+
+      post :create, user: { login: user.username, password: user.password }
+
+      expect(response).to be_success
+      store_frontend_fixture(response, example.description)
+    end
+  end
+
+  describe Profiles::TwoFactorAuthsController, '(JavaScript fixtures)', type: :controller do
+    render_views
+
+    before do
+      sign_in(user)
+    end
+
+    it 'u2f/register.html.raw' do |example|
+      get :show
+
+      expect(response).to be_success
+      store_frontend_fixture(response, example.description)
+    end
+  end
+end
diff --git a/spec/javascripts/fixtures/u2f/authenticate.html.haml b/spec/javascripts/fixtures/u2f/authenticate.html.haml
deleted file mode 100644
index 779d6429a5fe63fbfb25c3d6e5ab02980b9c75c2..0000000000000000000000000000000000000000
--- a/spec/javascripts/fixtures/u2f/authenticate.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render partial: "u2f/authenticate", locals: { new_user_session_path: "/users/sign_in", params: {}, resource_name: "user" }
diff --git a/spec/javascripts/fixtures/u2f/register.html.haml b/spec/javascripts/fixtures/u2f/register.html.haml
deleted file mode 100644
index 5ed51be689cda34401d273ae599185eb90f0bbde..0000000000000000000000000000000000000000
--- a/spec/javascripts/fixtures/u2f/register.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-- user = FactoryGirl.build(:user, :two_factor_via_otp)
-= render partial: "u2f/register", locals: { create_u2f_profile_two_factor_auth_path: '/profile/two_factor_auth/create_u2f', current_user: user }
diff --git a/spec/javascripts/u2f/authenticate_spec.js b/spec/javascripts/u2f/authenticate_spec.js
index 064d18519ea1de1e38609ff7fa8c6c9cf911bee3..f6399b2286572f90c98056ec15a6c7c267bf0e21 100644
--- a/spec/javascripts/u2f/authenticate_spec.js
+++ b/spec/javascripts/u2f/authenticate_spec.js
@@ -10,8 +10,10 @@
 
 (function() {
   describe('U2FAuthenticate', function() {
-    fixture.load('u2f/authenticate');
+    fixture.preload('u2f/authenticate.html.raw');
+
     beforeEach(function() {
+      fixture.load('u2f/authenticate.html.raw');
       this.u2fDevice = new MockU2FDevice;
       this.container = $("#js-authenticate-u2f");
       this.component = new window.gl.U2FAuthenticate(
diff --git a/spec/javascripts/u2f/register_spec.js b/spec/javascripts/u2f/register_spec.js
index 189592ea87a89d528c76043f1bd29a4a4d87344d..7eda2ac4c249bbf703a861464fe4a541d513a9d3 100644
--- a/spec/javascripts/u2f/register_spec.js
+++ b/spec/javascripts/u2f/register_spec.js
@@ -10,8 +10,10 @@
 
 (function() {
   describe('U2FRegister', function() {
-    fixture.load('u2f/register');
+    fixture.preload('u2f/register.html.raw');
+
     beforeEach(function() {
+      fixture.load('u2f/register.html.raw');
       this.u2fDevice = new MockU2FDevice;
       this.container = $("#js-register-u2f");
       this.component = new U2FRegister(this.container, $("#js-register-u2f-templates"), {}, "token");