diff --git a/addons/barcodes/static/src/components/barcode_scanner.js b/addons/barcodes/static/src/components/barcode_scanner.js index da765214bed..916ae62da41 100644 --- a/addons/barcodes/static/src/components/barcode_scanner.js +++ b/addons/barcodes/static/src/components/barcode_scanner.js @@ -21,7 +21,7 @@ export class BarcodeScanner extends Component { try { barcode = await scanBarcode(this.env, this.facingMode); } catch (err) { - error = err.error.message; + error = err.message; } if (barcode) { diff --git a/addons/barcodes/static/tests/basic/barcode_scan_tests.js b/addons/barcodes/static/tests/basic/barcode_scan_tests.js new file mode 100644 index 00000000000..ace6213a10c --- /dev/null +++ b/addons/barcodes/static/tests/basic/barcode_scan_tests.js @@ -0,0 +1,32 @@ +/** @odoo-module **/ + +import { BarcodeScanner } from "@barcodes/components/barcode_scanner"; +import { getFixture, mount } from "@web/../tests/helpers/utils"; +import { contains } from "@web/../tests/utils"; +import { createWebClient } from "@web/../tests/webclient/helpers"; + +import { xml, Component } from "@odoo/owl"; + +QUnit.module("Barcode scan", {}); + +QUnit.test("Display notification for media device permission on barcode scanning", async () => { + navigator.mediaDevices.getUserMedia = function() { + return Promise.reject(new DOMException("", "NotAllowedError")); + }; + + class BarcodeScan extends Component {} + BarcodeScan.components = { BarcodeScanner }; + BarcodeScan.template = xml` +