From fc7f539db542ad705755e5fe2b74496f4ebe1c95 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 9 Aug 2022 15:57:44 +0200 Subject: [PATCH] add test for umb-context-provider --- .../context/context-provider.element.test.ts | 40 +++++++++++++++++++ .../core/context/context-provider.element.ts | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.test.ts diff --git a/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.test.ts b/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.test.ts new file mode 100644 index 0000000000..e8676ab1eb --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.test.ts @@ -0,0 +1,40 @@ +import { expect, fixture, html } from '@open-wc/testing'; +import { LitElement } from 'lit'; +import { customElement } from 'lit/decorators.js'; + +import { UmbContextConsumerMixin } from './context-consumer.mixin'; +import { UmbContextProviderElement } from './context-provider.element'; + +@customElement('umb-context-test') +export class ContextTestElement extends UmbContextConsumerMixin(LitElement) { + public value: string | null = null; + constructor() { + super(); + this.consumeContext('test-context', (value) => { + this.value = value; + }); + } +} + +describe('UmbContextProvider', () => { + let element: UmbContextProviderElement; + let consumer: ContextTestElement; + const contextValue = 'test-value'; + + beforeEach(async () => { + element = await fixture( + html` + + ` + ); + consumer = element.getElementsByTagName('umb-context-test')[0] as ContextTestElement; + }); + + it('is defined with its own instance', () => { + expect(element).to.be.instanceOf(UmbContextProviderElement); + }); + + it('provides the context', () => { + expect(consumer.value).to.equal(contextValue); + }); +}); diff --git a/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.ts b/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.ts index 172c8aa476..575e81f818 100644 --- a/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.ts +++ b/src/Umbraco.Web.UI.Client/src/core/context/context-provider.element.ts @@ -10,7 +10,7 @@ export class UmbContextProviderElement extends UmbContextProviderMixin(LitElemen * @required */ @property({ type: Object }) - value!: unknown; + value: unknown; /** * The key to provide to the context.