[FIX] barcodes: handle error message on barcode scanning
Before this commit: Got a traceback instead of an error message on scanning a barcode. Reason: Until 16.4 error message send in the object via Eventbus, which removed in https://github.com/odoo/odoo/commit/72dbb75d4de529a35c45273ded472d038a7bb738 so because of that error message will be sent directly(not in object). After this commit: User will get an error message if anything wrong happened. Task:3524284 closes odoo/odoo#138877 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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`
|
||||
<div>
|
||||
<BarcodeScanner onBarcodeScanned="(ev) => this.onBarcodeScanned(ev)"/>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const target = getFixture();
|
||||
const { env } = await createWebClient({});
|
||||
await mount(BarcodeScan, target, { env });
|
||||
|
||||
await document.querySelector('.o_mobile_barcode').click();
|
||||
await contains(".o_notification", { text: "Could not start scanning. Odoo needs your authorization first." });
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user