From d40ee05bdaf76e64490c87d750787147f64fe72b Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 21 Aug 2024 13:23:27 +0200 Subject: [PATCH] add tests for model methods --- .../core/sorter/sorter.controller.test.ts | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.test.ts b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.test.ts index 4b68007e03..3595ec1376 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.test.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/sorter.controller.test.ts @@ -5,8 +5,6 @@ import { UmbLitElement } from '../lit-element/lit-element.element.js'; @customElement('test-my-sorter') class UmbSorterTestElement extends UmbLitElement { - model: Array = ['1', '2', '3', '4']; - sorter = new UmbSorterController(this, { getUniqueOfElement: (element) => { return element.id; @@ -168,4 +166,40 @@ describe('UmbSorterController', () => { }); }); }); + + describe('setModel & getModel', () => { + it('it sets the model', () => { + const model = ['1', '2', '3', '4']; + element.sorter.setModel(model); + expect(element.sorter.getModel()).to.deep.equal(model); + }); + }); + + describe('hasItem', () => { + beforeEach(() => { + element.sorter.setModel(['1', '2', '3', '4']); + }); + + it('returns true if item exists', () => { + expect(element.sorter.hasItem('1')).to.be.true; + }); + + it('returns false if item does not exist', () => { + expect(element.sorter.hasItem('5')).to.be.false; + }); + }); + + describe('getItem', () => { + beforeEach(() => { + element.sorter.setModel(['1', '2', '3', '4']); + }); + + it('returns the item if it exists', () => { + expect(element.sorter.getItem('1')).to.equal('1'); + }); + + it('returns undefined if item does not exist', () => { + expect(element.sorter.getItem('5')).to.be.undefined; + }); + }); });