mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-03-07 01:39:54 +00:00
2 small fixes 1. The info button was not properly working post refactor 2. Suppress any secured tags from report input
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
import { module, test } from "qunit";
|
|
import { jsonToHtml } from "discourse/plugins/discourse-ai/discourse/lib/utilities";
|
|
|
|
module("Unit | Utility | json-to-html", function () {
|
|
test("it properly handles nulls", function (assert) {
|
|
const input = null;
|
|
const result = jsonToHtml(input).toString();
|
|
|
|
assert.equal(result, "null", "Null should be properly formatted");
|
|
});
|
|
|
|
test("it properly handles boolean", function (assert) {
|
|
const input = true;
|
|
const result = jsonToHtml(input).toString();
|
|
|
|
assert.equal(result, "true", "Boolean should be properly formatted");
|
|
});
|
|
|
|
test("it properly handles numbers", function (assert) {
|
|
const input = 42.1;
|
|
const result = jsonToHtml(input).toString();
|
|
|
|
assert.equal(result, "42.1", "Numbers should be properly formatted");
|
|
});
|
|
|
|
test("it properly handles undefined", function (assert) {
|
|
const input = undefined;
|
|
const result = jsonToHtml(input).toString();
|
|
|
|
assert.equal(result, "", "Undefined should be properly formatted");
|
|
});
|
|
|
|
test("it handles nested objects correctly", function (assert) {
|
|
const input = {
|
|
outer: {
|
|
inner: {
|
|
key: "value",
|
|
},
|
|
},
|
|
};
|
|
|
|
const result = jsonToHtml(input).toString();
|
|
const expected =
|
|
"<ul><li><strong>outer:</strong> <ul><li><ul><li><strong>inner:</strong> <ul><li><ul><li><strong>key:</strong> value</li></ul></li></ul></li></ul></li></ul></li></ul>";
|
|
|
|
assert.equal(
|
|
result,
|
|
expected,
|
|
"Nested objects should be properly formatted"
|
|
);
|
|
});
|
|
|
|
test("it handles arrays correctly", function (assert) {
|
|
const input = {
|
|
array: [1, 2, 3],
|
|
};
|
|
|
|
const result = jsonToHtml(input).toString();
|
|
|
|
const expected =
|
|
"<ul><li><strong>array:</strong> <ul><li><strong>0:</strong> 1</li><li><strong>1:</strong> 2</li><li><strong>2:</strong> 3</li></ul></li></ul>";
|
|
|
|
assert.equal(result, expected, "Arrays should be properly formatted");
|
|
});
|
|
});
|