diff --git a/addons/mail/static/src/components/attachment/attachment.js b/addons/mail/static/src/components/attachment/attachment.js index 76922ed7a3c..a17ed341b9a 100644 --- a/addons/mail/static/src/components/attachment/attachment.js +++ b/addons/mail/static/src/components/attachment/attachment.js @@ -71,6 +71,12 @@ class Attachment extends Component { if (this.attachment.fileType !== 'image') { return ''; } + if (this.env.isQUnitTest) { + // background-image:url is hardly mockable, and attachments in + // QUnit tests do not actually exist in DB, so style should not + // be fetched at all. + return ''; + } let size; if (this.detailsMode === 'card') { size = '38x38'; diff --git a/addons/mail/static/src/env/test_env.js b/addons/mail/static/src/env/test_env.js index fb16caaaf5e..048bfc8d65f 100644 --- a/addons/mail/static/src/env/test_env.js +++ b/addons/mail/static/src/env/test_env.js @@ -56,6 +56,13 @@ function addMessagingToEnv(providedEnv = {}) { } return this.messaging.isInitialized; }, + /** + * States whether the environment is in QUnit test or not. + * + * Useful to prevent some behaviour in QUnit tests, like applying + * style of attachment that uses url. + */ + isQUnitTest: true, loadingBaseDelayDuration: providedEnv.loadingBaseDelayDuration || 0, messaging: undefined, messagingCreatedPromise: makeDeferred(), diff --git a/addons/mail/static/src/js/main.js b/addons/mail/static/src/js/main.js index f8199c4dc34..d19a8edb8e9 100644 --- a/addons/mail/static/src/js/main.js +++ b/addons/mail/static/src/js/main.js @@ -71,6 +71,13 @@ Object.assign(env, { } return this.messaging.isInitialized; }, + /** + * States whether the environment is in QUnit test or not. + * + * Useful to prevent some behaviour in QUnit tests, like applying + * style of attachment that uses url. + */ + isQUnitTest: false, loadingBaseDelayDuration: 400, messaging: undefined, messagingBus: new EventBus(),