mirror of
https://github.com/discourse/discourse.git
synced 2026-08-06 13:08:40 +08:00
Currently, most of the JS test modules follow this
convention:
```
module("Integration | Component | topic-dismiss-buttons"
```
Which is a legacy from when ember components etc were
rendered in templates like this:
```
{{d-button title="foo"}}
```
Instead, this commit updates all of them to follow this
PascalCase convention:
```
module("Integration | Component | TopicDismissButtons", function (hooks) {
```
No linting is added to enforce this, we suspect that it's
mostly a result of cargo culting, and people will add new
tests following PascalCase convention.
Also adds an initial AI skill for writing JS tests.
32 lines
1 KiB
Text
Vendored
32 lines
1 KiB
Text
Vendored
import { getOwner } from "@ember/owner";
|
|
import { fillIn, render } from "@ember/test-helpers";
|
|
import { module, test } from "qunit";
|
|
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
|
|
import AutomationField from "discourse/plugins/automation/admin/components/automation-field";
|
|
import AutomationFabricators from "discourse/plugins/automation/admin/lib/fabricators";
|
|
|
|
module("Integration | Component | DaTextField", function (hooks) {
|
|
setupRenderingTest(hooks);
|
|
|
|
hooks.beforeEach(function () {
|
|
this.automation = new AutomationFabricators(getOwner(this)).automation();
|
|
});
|
|
|
|
test("set value", async function (assert) {
|
|
this.field = new AutomationFabricators(getOwner(this)).field({
|
|
component: "text",
|
|
});
|
|
|
|
await render(
|
|
<template>
|
|
<AutomationField
|
|
@automation={{this.automation}}
|
|
@field={{this.field}}
|
|
/>
|
|
</template>
|
|
);
|
|
await fillIn("input", "Hello World");
|
|
|
|
assert.strictEqual(this.field.metadata.value, "Hello World");
|
|
});
|
|
});
|