46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
import { discourseModule } from "discourse/tests/helpers/qunit-helpers";
|
|
import { test } from "qunit";
|
|
import EmberObject from "@ember/object";
|
|
import User from "discourse/models/user";
|
|
|
|
discourseModule("Unit | Controller | preferences/profile", function () {
|
|
test("prepare custom field data", function (assert) {
|
|
const controller = this.getController("preferences/profile", {
|
|
model: User.create({
|
|
id: 70,
|
|
second_factor_enabled: true,
|
|
is_anonymous: true,
|
|
user_fields: {
|
|
field_1: "1",
|
|
field_2: "2",
|
|
field_3: "3",
|
|
},
|
|
}),
|
|
currentUser: {
|
|
id: 1234,
|
|
},
|
|
});
|
|
controller.set("userFields", [
|
|
EmberObject.create({ value: "2", field: { id: "field_1" } }),
|
|
EmberObject.create({ value: null, field: { id: "field_2" } }),
|
|
EmberObject.create({ value: [], field: { id: "field_3" } }),
|
|
]);
|
|
controller.send("_updateUserFields");
|
|
assert.strictEqual(
|
|
controller.model.user_fields.field_1,
|
|
"2",
|
|
"updates string value"
|
|
);
|
|
assert.strictEqual(
|
|
controller.model.user_fields.field_2,
|
|
null,
|
|
"updates null"
|
|
);
|
|
assert.strictEqual(
|
|
controller.model.user_fields.field_3,
|
|
null,
|
|
"updates empty array as null"
|
|
);
|
|
});
|
|
});
|