diff --git a/web/app/assets/javascripts/fakeJamClient.js b/web/app/assets/javascripts/fakeJamClient.js index 368808ab5..0f580bca0 100644 --- a/web/app/assets/javascripts/fakeJamClient.js +++ b/web/app/assets/javascripts/fakeJamClient.js @@ -203,8 +203,8 @@ } function FTUESetInputMusicDevice() { } function FTUESetOutputMusicDevice() { } - function FTUEGetInputMusicDevice() { return null; } - function FTUEGetOutputMusicDevice() { return null; } + function FTUEGetInputMusicDevice() { return 'Built-in'; } + function FTUEGetOutputMusicDevice() { return 'Built-in'; } function FTUESetMusicInput() { dbg('FTUESetMusicInput'); } function FTUESetChatInput() { dbg('FTUESetChatInput'); } diff --git a/web/app/assets/javascripts/gear/step_network_test.js b/web/app/assets/javascripts/gear/step_network_test.js index 40e7c3361..7cbc6fea1 100644 --- a/web/app/assets/javascripts/gear/step_network_test.js +++ b/web/app/assets/javascripts/gear/step_network_test.js @@ -78,21 +78,21 @@ function testFinished() { var attempt = getCurrentAttempt(); - if(!attempt.final) { - attempt.final = {reason : attempt.reason}; + if(!testSummary.final) { + testSummary.final = {reason : attempt.reason}; } - var reason = attempt.final.reason; + var reason = testSummary.final.reason; if(reason == "success") { renderStopTest(attempt.num_clients, "Your router and Internet service will support sessions of up to " + attempt.num_clients + " JamKazam musicians.") testedSuccessfully = true; - if(!attempt.final.num_clients) { - attempt.final.num_clients = attempt.num_clients; + if(!testSummary.final.num_clients) { + testSummary.final.num_clients = attempt.num_clients; } - context.JK.GA.trackNetworkTest(context.JK.detectOS(), attempt.final.num_clients); + context.JK.GA.trackNetworkTest(context.JK.detectOS(), testSummary.final.num_clients); context.jamClient.SetNetworkTestScore(attempt.num_clients); - if(attempt.final.num_clients == 2) { + if(testSummary.final.num_clients == 2) { $testResults.addClass('acceptable'); } else { @@ -162,6 +162,7 @@ attempt.server_client_id = serverClientId; attempt.received_progress = false; testSummary.attempts.push(attempt); + console.log("pushing attempt: " + testSummary.attempts.length) //context.jamClient.StopNetworkTest(''); @@ -169,7 +170,6 @@ updateProgress(0, false); - $currentScore.css context.jamClient.TestNetworkPktBwRate(serverClientId, TEST_SUCCESS_CALLBACK, TEST_TIMEOUT_CALLBACK, NETWORK_TEST_TYPES.PktTest400LowLatency, gon.ftue_network_test_duration, @@ -281,7 +281,7 @@ else if(numClientsToTest > STARTING_NUM_CLIENTS) { // this means we've gone up before... so don't go back down (i.e., creating a loop) attempt.reason = "success"; - attempt.final = { reason:'success', num_clients: numClientsToTest - 1 } + testSummary.final = { reason:'success', num_clients: numClientsToTest - 1 } testFinished(); } else { diff --git a/web/app/assets/javascripts/utils.js b/web/app/assets/javascripts/utils.js index f8c23c374..470f60e5e 100644 --- a/web/app/assets/javascripts/utils.js +++ b/web/app/assets/javascripts/utils.js @@ -666,7 +666,6 @@ deviceInfo.outputCount = device.output_count; loadedDevices[device.guid] = deviceInfo; - logger.debug("loaded device: ", deviceInfo); }) logger.debug(context.JK.dlen(loadedDevices) + " devices loaded.", loadedDevices); diff --git a/web/app/views/clients/index.html.erb b/web/app/views/clients/index.html.erb index 513d49d75..74ca23a43 100644 --- a/web/app/views/clients/index.html.erb +++ b/web/app/views/clients/index.html.erb @@ -253,7 +253,7 @@ } JK.app = JK.JamKazam(); - var jamServer = new JK.JamServer(JK.app, function(event_type) {JK.app.activeElementEvent(event_type)}); + var jamServer = new JK.JamServer(JK.app, function(event_type) {}); jamServer.initialize(); JK.initJamClient(); diff --git a/web/app/views/clients/latency_tester.html.haml b/web/app/views/clients/latency_tester.html.haml index fd8d61bbb..27e632c41 100644 --- a/web/app/views/clients/latency_tester.html.haml +++ b/web/app/views/clients/latency_tester.html.haml @@ -49,7 +49,7 @@ } JK.app = JK.JamKazam(); - var jamServer = new JK.JamServer(JK.app); + var jamServer = new JK.JamServer(JK.app, function(event_type) {}); jamServer.initialize(); // If no jamClient (when not running in native client) diff --git a/web/config/environments/test.rb b/web/config/environments/test.rb index 40eeee247..cbaab4cb2 100644 --- a/web/config/environments/test.rb +++ b/web/config/environments/test.rb @@ -82,6 +82,9 @@ SampleApp::Application.configure do config.vanilla_url = '/forums' config.vanilla_login_url = '/forums/entry/jsconnect' + # very low waits to speed up automated tests config.ftue_io_wait_time = 1 + config.ftue_network_test_duration = 1 + config.ftue_network_test_max_clients = 5 end diff --git a/web/spec/features/gear_wizard_spec.rb b/web/spec/features/gear_wizard_spec.rb index 8f40dce6a..c94f7891e 100644 --- a/web/spec/features/gear_wizard_spec.rb +++ b/web/spec/features/gear_wizard_spec.rb @@ -11,7 +11,40 @@ describe "Gear Wizard", :js => true, :type => :feature, :capybara_feature => tru end it "success path" do - visit "/client#/home/gear-wizard" + visit '/client#/account/audio' + # step 1 - intro + find("div.account-audio a[data-purpose='add-profile']").trigger(:click) + find('.btn-next').trigger(:click) + + # step 2 - select gear + find('.ftue-step-title', text: 'Select & Test Audio Gear') + jk_select('Built-in', 'div[layout-wizard-step="1"] select.select-audio-input-device') + find('.btn-next.button-orange').trigger(:click) + + # step 3 - configure tracks + find('.ftue-step-title', text: 'Configure Tracks') + find('.btn-next.button-orange').trigger(:click) + + # step 4 - configure voice chat + find('.ftue-step-title', text: 'Configure Voice Chat') + find('.btn-next.button-orange').trigger(:click) + + # step 5 - configure direct monitoring + find('.ftue-step-title', text: 'Turn Off Direct Monitoring') + find('.btn-next.button-orange').trigger(:click) + + # step 6 - Test Router & Network + find('.ftue-step-title', text: 'Test Router & Network') + find('.button-orange.start-network-test').trigger(:click) + find('.user-btn', text: 'RUN NETWORK TEST ANYWAY').trigger(:click) + find('.button-grey.start-network-test').trigger(:click) + find('.button-orange.start-network-test') + find('.btn-next.button-orange').trigger(:click) + + # step 7 - Success + find('.ftue-step-title', text: 'Success!') + find('.btn-close.button-orange').trigger(:click) + end end