From ff67102c52faffbf03b9460a233421ed2c730210 Mon Sep 17 00:00:00 2001 From: rouxxi Date: Tue, 17 Dec 2024 17:56:10 +0100 Subject: [PATCH] fix(junior): fix issue when front type is null for a challenge --- .../components/challenge/item/component.js | 4 +++- junior/app/models/challenge.js | 4 ++++ junior/tests/unit/models/challenge-test.js | 21 +++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/junior/app/components/challenge/item/component.js b/junior/app/components/challenge/item/component.js index d8bfc003eae..154b5da5984 100644 --- a/junior/app/components/challenge/item/component.js +++ b/junior/app/components/challenge/item/component.js @@ -12,8 +12,10 @@ export default class Item extends Component { } }); } + get isMediaWithForm() { - return this.args.challenge.hasForm && this.hasMedia && this.args.challenge.type !== undefined; + const challenge = this.args.challenge; + return challenge.hasForm && this.hasMedia && challenge.hasType; } get hasMedia() { diff --git a/junior/app/models/challenge.js b/junior/app/models/challenge.js index 9618afa3e55..4528e9f6856 100644 --- a/junior/app/models/challenge.js +++ b/junior/app/models/challenge.js @@ -67,4 +67,8 @@ export default class Challenge extends Model { get hasForm() { return this.autoReply === false; } + + get hasType() { + return !!this.type; + } } diff --git a/junior/tests/unit/models/challenge-test.js b/junior/tests/unit/models/challenge-test.js index e2591a5880e..1b45d08fca9 100644 --- a/junior/tests/unit/models/challenge-test.js +++ b/junior/tests/unit/models/challenge-test.js @@ -182,4 +182,25 @@ module('Unit | Model | Challenge', function (hooks) { assert.false(challenge.isQCM); }); }); + + module('#hasType', function () { + test('should be true if type is set', async function (assert) { + const challenge = store.createRecord('challenge', { + type: 'QCM', + }); + assert.true(challenge.hasType); + }); + test('should be false if type is null', async function (assert) { + const challenge = store.createRecord('challenge', { + type: null, + }); + assert.false(challenge.hasType); + }); + test('should be false if type is undefined', async function (assert) { + const challenge = store.createRecord('challenge', { + type: undefined, + }); + assert.false(challenge.hasType); + }); + }); });