Aligns controller tests with the Ember standard, by using `module` and `setupTest` instead of our custom `discourseModule`)
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
import { module, test } from "qunit";
|
|
import { setupTest } from "ember-qunit";
|
|
import User from "discourse/models/user";
|
|
|
|
module("Unit | Controller | preferences/profile", function (hooks) {
|
|
setupTest(hooks);
|
|
|
|
test("prepare custom field data", function (assert) {
|
|
const site = this.owner.lookup("service:site");
|
|
site.set("user_fields", [
|
|
{ position: 1, id: 1, editable: true },
|
|
{ position: 2, id: 2, editable: true },
|
|
{ position: 3, id: 3, editable: true },
|
|
]);
|
|
|
|
const controller = this.owner.lookup("controller:preferences/profile");
|
|
controller.setProperties({
|
|
model: User.create({
|
|
id: 70,
|
|
second_factor_enabled: true,
|
|
is_anonymous: true,
|
|
user_fields: {
|
|
1: "2",
|
|
2: null,
|
|
3: [],
|
|
},
|
|
}),
|
|
currentUser: {
|
|
id: 1234,
|
|
},
|
|
});
|
|
|
|
controller.send("_updateUserFields");
|
|
|
|
const fields = controller.model.user_fields;
|
|
assert.strictEqual(fields[1], "2", "updates string value");
|
|
assert.strictEqual(fields[2], null, "updates null");
|
|
assert.strictEqual(fields[3], null, "updates empty array as null");
|
|
});
|
|
});
|