FIX: Switching composer action shouldn't trigger abandon popup (#7261)
This commit is contained in:
parent
074a9be6a9
commit
1b0267b077
|
@ -230,12 +230,14 @@ export default DropdownSelectBoxComponent.extend({
|
||||||
replyToTopicSelected(options) {
|
replyToTopicSelected(options) {
|
||||||
options.action = REPLY;
|
options.action = REPLY;
|
||||||
options.topic = _topicSnapshot;
|
options.topic = _topicSnapshot;
|
||||||
|
options.skipDraftCheck = true;
|
||||||
this._openComposer(options);
|
this._openComposer(options);
|
||||||
},
|
},
|
||||||
|
|
||||||
replyToPostSelected(options) {
|
replyToPostSelected(options) {
|
||||||
options.action = REPLY;
|
options.action = REPLY;
|
||||||
options.post = _postSnapshot;
|
options.post = _postSnapshot;
|
||||||
|
options.skipDraftCheck = true;
|
||||||
this._openComposer(options);
|
this._openComposer(options);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -600,6 +600,47 @@ QUnit.test("Checks for existing draft", async assert => {
|
||||||
toggleCheckDraftPopup(false);
|
toggleCheckDraftPopup(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
QUnit.test("Can switch states without abandon popup", async assert => {
|
||||||
|
const composerActions = selectKit(".composer-actions");
|
||||||
|
toggleCheckDraftPopup(true);
|
||||||
|
|
||||||
|
await visit("/t/internationalization-localization/280");
|
||||||
|
|
||||||
|
const longText = "a".repeat(256);
|
||||||
|
|
||||||
|
await click(".btn-primary.create.btn");
|
||||||
|
|
||||||
|
await fillIn(".d-editor-input", longText);
|
||||||
|
|
||||||
|
// prettier-ignore
|
||||||
|
server.get("/draft.json", () => { // eslint-disable-line no-undef
|
||||||
|
return [ 200, { "Content-Type": "application/json" }, {
|
||||||
|
draft: "{\"reply\":\"This is a draft of the first post\",\"action\":\"reply\",\"categoryId\":1,\"archetypeId\":\"regular\",\"metaData\":null,\"composerTime\":2863,\"typingTime\":200}",
|
||||||
|
draft_sequence: 42
|
||||||
|
} ];
|
||||||
|
});
|
||||||
|
|
||||||
|
await click("article#post_3 button.reply");
|
||||||
|
|
||||||
|
await composerActions.expand();
|
||||||
|
await composerActions.selectRowByValue("reply_to_topic");
|
||||||
|
|
||||||
|
assert.equal(find(".modal-body").text(), "", "abandon popup shouldn't come");
|
||||||
|
|
||||||
|
assert.equal(
|
||||||
|
find(".d-editor-input").val(),
|
||||||
|
longText,
|
||||||
|
"entered text should still be there"
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.ok(
|
||||||
|
find('.action-title a[href="/t/internationalization-localization/280"]'),
|
||||||
|
"mode should have changed"
|
||||||
|
);
|
||||||
|
|
||||||
|
toggleCheckDraftPopup(false);
|
||||||
|
});
|
||||||
|
|
||||||
QUnit.test("Loading draft also replaces the recipients", async assert => {
|
QUnit.test("Loading draft also replaces the recipients", async assert => {
|
||||||
toggleCheckDraftPopup(true);
|
toggleCheckDraftPopup(true);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue