From 342bbe66dd497a33a78ec2abd0f9c4d32c4b8851 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Fri, 11 Oct 2019 15:33:34 -0400 Subject: [PATCH] FIX: Flaky tests We had acceptance tests that were testing the contents of the post stream preview, not the contents of the eventual topic itself. This became apparent when I introduced a new promise which caused the tests to finish waiting for work properly. Before that, it was up to the speed of the execution, very spooky! --- test/javascripts/acceptance/category-hashtag-test.js.es6 | 9 +-------- test/javascripts/acceptance/composer-test.js.es6 | 4 ++-- test/javascripts/acceptance/emoji-test.js.es6 | 8 -------- test/javascripts/acceptance/tag-hashtag-test.js.es6 | 8 -------- test/javascripts/helpers/create-pretender.js.es6 | 4 +++- 5 files changed, 6 insertions(+), 27 deletions(-) diff --git a/test/javascripts/acceptance/category-hashtag-test.js.es6 b/test/javascripts/acceptance/category-hashtag-test.js.es6 index c2ffdcdcaea..e5bbdf3c48d 100644 --- a/test/javascripts/acceptance/category-hashtag-test.js.es6 +++ b/test/javascripts/acceptance/category-hashtag-test.js.es6 @@ -7,6 +7,7 @@ QUnit.test("category hashtag is cooked properly", async assert => { await click("#topic-footer-buttons .btn.create"); await fillIn(".d-editor-input", "this is a category hashtag #bug"); + // TODO: Test that the autocomplete shows assert.equal( find(".d-editor-preview:visible") @@ -14,12 +15,4 @@ QUnit.test("category hashtag is cooked properly", async assert => { .trim(), '

this is a category hashtag #bug

' ); - - await click("#reply-control .btn.create"); - assert.equal( - find(".topic-post:last .cooked p") - .html() - .trim(), - 'this is a category hashtag #bug' - ); }); diff --git a/test/javascripts/acceptance/composer-test.js.es6 b/test/javascripts/acceptance/composer-test.js.es6 index 26ccba2be28..5123276c485 100644 --- a/test/javascripts/acceptance/composer-test.js.es6 +++ b/test/javascripts/acceptance/composer-test.js.es6 @@ -249,7 +249,7 @@ QUnit.test("Create a Reply", async assert => { await click("#reply-control button.create"); assert.equal( find(".cooked:last p").text(), - "this is the content of my reply" + "If you use gettext format you could leverage Launchpad 13 translations and the community behind it." ); }); @@ -266,7 +266,7 @@ QUnit.test("Posting on a different topic", async assert => { await click(".btn-reply-here"); assert.equal( find(".cooked:last p").text(), - "this is the content for a different topic" + "If you use gettext format you could leverage Launchpad 13 translations and the community behind it." ); }); diff --git a/test/javascripts/acceptance/emoji-test.js.es6 b/test/javascripts/acceptance/emoji-test.js.es6 index 39dc37696e6..087a9239068 100644 --- a/test/javascripts/acceptance/emoji-test.js.es6 +++ b/test/javascripts/acceptance/emoji-test.js.es6 @@ -14,14 +14,6 @@ QUnit.test("emoji is cooked properly", async assert => { .trim(), `

this is an emoji :blonde_woman:

` ); - - await click("#reply-control .btn.create"); - assert.equal( - find(".topic-post:last .cooked p") - .html() - .trim(), - `this is an emoji :blonde_woman:` - ); }); QUnit.test("skin toned emoji is cooked properly", async assert => { diff --git a/test/javascripts/acceptance/tag-hashtag-test.js.es6 b/test/javascripts/acceptance/tag-hashtag-test.js.es6 index 1e3e468277b..b640d2cb97b 100644 --- a/test/javascripts/acceptance/tag-hashtag-test.js.es6 +++ b/test/javascripts/acceptance/tag-hashtag-test.js.es6 @@ -24,12 +24,4 @@ QUnit.test("tag is cooked properly", async assert => { .trim(), '

this is a tag hashtag #monkey

' ); - - await click("#reply-control .btn.create"); - assert.equal( - find(".topic-post:last .cooked") - .html() - .trim(), - '

this is a tag hashtag #monkey

' - ); }); diff --git a/test/javascripts/helpers/create-pretender.js.es6 b/test/javascripts/helpers/create-pretender.js.es6 index cb4597482ec..d05a79a491f 100644 --- a/test/javascripts/helpers/create-pretender.js.es6 +++ b/test/javascripts/helpers/create-pretender.js.es6 @@ -199,7 +199,9 @@ export default function() { this.get("/t/280.json", () => response(fixturesByUrl["/t/280/1.json"])); this.get("/t/34.json", () => response(fixturesByUrl["/t/34/1.json"])); - this.get("/t/280/20.json", () => response(fixturesByUrl["/t/280/1.json"])); + this.get("/t/280/:post_number.json", () => + response(fixturesByUrl["/t/280/1.json"]) + ); this.get("/t/28830.json", () => response(fixturesByUrl["/t/28830/1.json"])); this.get("/t/9.json", () => response(fixturesByUrl["/t/9/1.json"])); this.get("/t/12.json", () => response(fixturesByUrl["/t/12/1.json"]));