diff --git a/runtime/dapp-frontend-vue/src/views/LoginScreen/LoginScreen.ts b/runtime/dapp-frontend-vue/src/views/LoginScreen/LoginScreen.ts index ca481ca1..5e1065d1 100644 --- a/runtime/dapp-frontend-vue/src/views/LoginScreen/LoginScreen.ts +++ b/runtime/dapp-frontend-vue/src/views/LoginScreen/LoginScreen.ts @@ -331,6 +331,7 @@ export default class LoginScreen extends MetaView { */ public get getMobileOS() { const ua = navigator.userAgent; + if (/android/i.test(ua)) { return "Android"; } else if ( diff --git a/runtime/dapp-frontend-vue/tests/unit/views/LoginScreen.spec.ts b/runtime/dapp-frontend-vue/tests/unit/views/LoginScreen.spec.ts index d2b0af6c..c73b635a 100644 --- a/runtime/dapp-frontend-vue/tests/unit/views/LoginScreen.spec.ts +++ b/runtime/dapp-frontend-vue/tests/unit/views/LoginScreen.spec.ts @@ -104,4 +104,40 @@ describe("LoginScreen -->", () => { // expect(widget.find(".qr-code").exists()).to.be.true; expect(widget.vm.createLoginQRCode()).to.be.not.null; }); + + it("should not call call login setInterval if device not mobile", () => { + expect(widget.vm.mobileFetchTimer).to.be.undefined; + }); + + it("should call call login setInterval if device is mobile", () => { + const mobileOptions = { + localVue, + stubs: ["router-link"], + mocks: { + getImageUrl, + $route: { params: {} }, + $router: { + push: jest.fn(), + }, + $t: jest.fn(), + $store: { + dispatch: jest.fn(), + commit: jest.fn(), + getters: { + "auth/isAuthenticated": true, + "auth/getChallenge": "rwrwer", + "auth/getAuthRegistry": "fake-registry", + "auth/getRefCode": undefined, + }, + }, + computed: { + getMobileOS() { + return "iOS"; + }, + }, + }, + }; + + expect(widget.vm.getMobileOs).to.be.not.null; + }); });