From bf4f74cb93e45f22ed071eccaf8a2160ef9d6c9e Mon Sep 17 00:00:00 2001 From: zsh Date: Sat, 19 Sep 2026 01:54:54 +1200 Subject: [PATCH] Set explicit flag from Audible match results --- server/providers/Audible.js | 3 ++- test/server/providers/Audible.test.js | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/server/providers/Audible.js b/server/providers/Audible.js index 133d3c0d8..a6c8f0aa9 100644 --- a/server/providers/Audible.js +++ b/server/providers/Audible.js @@ -83,7 +83,8 @@ class Audible { duration: runtimeLengthMin && !isNaN(runtimeLengthMin) ? Number(runtimeLengthMin) : 0, region: item.region || null, rating: item.rating || null, - abridged: formatType === 'abridged' + abridged: formatType === 'abridged', + explicit: !!item.isAdult } } diff --git a/test/server/providers/Audible.test.js b/test/server/providers/Audible.test.js index 67e85111b..75807c994 100644 --- a/test/server/providers/Audible.test.js +++ b/test/server/providers/Audible.test.js @@ -45,4 +45,26 @@ describe('Audible', () => { expect(result).to.equal('.5') }) }) + + describe('cleanResult', () => { + const baseItem = { + title: 'Some Book', + formatType: 'unabridged' + } + + it('should set explicit to true when isAdult is true', () => { + const result = audible.cleanResult({ ...baseItem, isAdult: true }) + expect(result.explicit).to.equal(true) + }) + + it('should set explicit to false when isAdult is false', () => { + const result = audible.cleanResult({ ...baseItem, isAdult: false }) + expect(result.explicit).to.equal(false) + }) + + it('should set explicit to false when isAdult is not present', () => { + const result = audible.cleanResult({ ...baseItem }) + expect(result.explicit).to.equal(false) + }) + }) }) \ No newline at end of file