This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/integration/components/watched-word-uploader-test.js
2022-09-27 14:47:13 -04:00

54 lines
1.6 KiB
JavaScript

import { module, test } from "qunit";
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import { render } from "@ember/test-helpers";
import { createFile } from "discourse/tests/helpers/qunit-helpers";
import { hbs } from "ember-cli-htmlbars";
import pretender, { response } from "discourse/tests/helpers/create-pretender";
import sinon from "sinon";
import I18n from "I18n";
import { dialog } from "discourse/lib/uploads";
module("Integration | Component | watched-word-uploader", function (hooks) {
setupRenderingTest(hooks);
hooks.beforeEach(function () {
pretender.post("/admin/customize/watched_words/upload.json", function () {
return response(200, {});
});
});
test("sets the proper action key on uploads", async function (assert) {
sinon.stub(dialog, "alert");
const done = assert.async();
this.set("actionNameKey", "flag");
this.set("doneUpload", function () {
assert.strictEqual(
Object.entries(this._uppyInstance.getState().files)[0][1].meta
.action_key,
"flag"
);
assert.ok(
dialog.alert.calledWith(
I18n.t("admin.watched_words.form.upload_successful")
),
"alert shown"
);
done();
});
await render(hbs`
<WatchedWordUploader
@id="watched-word-uploader"
@actionKey={{this.actionNameKey}}
@done={{this.doneUpload}}
/>
`);
const words = createFile("watched-words.txt");
await this.container
.lookup("service:app-events")
.trigger("upload-mixin:watched-word-uploader:add-files", words);
});
});