Skip to content

Commit

Permalink
Also test connect order
Browse files Browse the repository at this point in the history
  • Loading branch information
marcoroth committed Jun 18, 2023
1 parent 792d154 commit b94a694
Showing 1 changed file with 27 additions and 6 deletions.
33 changes: 27 additions & 6 deletions src/tests/modules/core/outlet_order_tests.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
import { ControllerTestCase } from "../../cases/controller_test_case"
import { OutletController } from "../../controllers/outlet_controller"

export default class OutletOrderTests extends ControllerTestCase(OutletController) {
const connectOrder: string[] = []

class OutletOrderController extends OutletController {
connect() {
connectOrder.push(`${this.identifier}-${this.element.id}-start`)
super.connect()
connectOrder.push(`${this.identifier}-${this.element.id}-end`)
}
}

export default class OutletOrderTests extends ControllerTestCase(OutletOrderController) {
fixtureHTML = `
<div data-controller="alpha" data-alpha-beta-outlet=".beta">Search</div>
<div data-controller="beta" class="beta">Beta</div>
<div data-controller="beta" class="beta">Beta</div>
<div data-controller="beta" class="beta">Beta</div>
<div data-controller="alpha" id="alpha1" data-alpha-beta-outlet=".beta">Search</div>
<div data-controller="beta" id="beta-1" class="beta">Beta</div>
<div data-controller="beta" id="beta-2" class="beta">Beta</div>
<div data-controller="beta" id="beta-3" class="beta">Beta</div>
`

get identifiers() {
Expand All @@ -16,9 +26,20 @@ export default class OutletOrderTests extends ControllerTestCase(OutletControlle
async "test can access outlets in connect() even if they are referenced before they are connected"() {
this.assert.equal(this.controller.betaOutletsInConnectValue, 3)

this.controller.betaOutlets.forEach((outlet) => {
this.controller.betaOutlets.forEach(outlet => {
this.assert.equal(outlet.identifier, "beta")
this.assert.equal(Array.from(outlet.element.classList.values()), "beta")
})

this.assert.deepEqual(connectOrder, [
"alpha-alpha1-start",
"beta-beta-1-start",
"beta-beta-1-end",
"beta-beta-2-start",
"beta-beta-2-end",
"beta-beta-3-start",
"beta-beta-3-end",
"alpha-alpha1-end"
])
}
}

0 comments on commit b94a694

Please sign in to comment.