diff --git a/addon/addon-test-support/@ember/test-helpers/setup-rendering-context.ts b/addon/addon-test-support/@ember/test-helpers/setup-rendering-context.ts index 3223c89a0..a6ab4cd58 100644 --- a/addon/addon-test-support/@ember/test-helpers/setup-rendering-context.ts +++ b/addon/addon-test-support/@ember/test-helpers/setup-rendering-context.ts @@ -88,7 +88,7 @@ export interface RenderOptions { Renders the provided template and appends it to the DOM. @public - @param {Template|Component} templateOrComponent the component (or template) to render + @param {Template|Component} templateFactoryOrComponent the component (or template) to render @param {RenderOptions} options options hash containing engine owner ({ owner: engineOwner }) @returns {Promise} resolves when settled @@ -99,12 +99,12 @@ export interface RenderOptions { await render(hbs`
`); */ export function render( - templateOrComponent: object, + templateFactoryOrComponent: object, options?: RenderOptions ): Promise { let context = getContext(); - if (!templateOrComponent) { + if (!templateFactoryOrComponent) { throw new Error('you must pass a template to `render()`'); } @@ -128,7 +128,7 @@ export function render( let OutletTemplate = lookupOutletTemplate(owner); let ownerToRenderFrom = options?.owner || owner; - if (isComponent(templateOrComponent)) { + if (isComponent(templateFactoryOrComponent)) { // We use this to track when `render` is used with a component so that we can throw an // assertion if `this.{set,setProperty} is used in the same test ComponentRenderMap.set(context, true); @@ -144,19 +144,16 @@ export function render( } context = { - ProvidedComponent: templateOrComponent, + ProvidedComponent: templateFactoryOrComponent, }; - templateOrComponent = INVOKE_PROVIDED_COMPONENT; - } else { - templateId += 1; - let templateFullName = `template:-undertest-${templateId}` as const; - ownerToRenderFrom.register(templateFullName, templateOrComponent); - templateOrComponent = lookupTemplate( - ownerToRenderFrom, - templateFullName - ); + templateFactoryOrComponent = INVOKE_PROVIDED_COMPONENT; } + templateId += 1; + let templateFullName = `template:-undertest-${templateId}` as const; + ownerToRenderFrom.register(templateFullName, templateFactoryOrComponent); + let template = lookupTemplate(ownerToRenderFrom, templateFullName); + let outletState = { render: { owner, // always use the host app owner for application outlet @@ -177,7 +174,7 @@ export function render( name: 'index', controller: context, ViewClass: undefined, - template: templateOrComponent, + template, outlets: {}, }, outlets: {},