FIX: Flaky test

The previous solution was not always working, I believe this one
will be consistent.
This commit is contained in:
Robin Ward 2020-07-09 14:48:22 -04:00
parent dadf08fb3b
commit c2ce7f2673
2 changed files with 4 additions and 8 deletions

View File

@ -10,7 +10,7 @@ class CategoryHashtagsController < ApplicationController
slugs_and_urls = {} slugs_and_urls = {}
Category.secured(guardian).where(id: ids).each do |category| Category.secured(guardian).where(id: ids).order(:id).each do |category|
slugs_and_urls[category.slug] ||= category.url slugs_and_urls[category.slug] ||= category.url
slugs_and_urls[category.slug_path.last(2).join(':')] ||= category.url slugs_and_urls[category.slug_path.last(2).join(':')] ||= category.url
end end

View File

@ -66,10 +66,6 @@ describe CategoryHashtagsController do
quxbar = Fabricate(:category_with_definition, slug: "bar", parent_category_id: qux.id) quxbar = Fabricate(:category_with_definition, slug: "bar", parent_category_id: qux.id)
quxbarbaz = Fabricate(:category_with_definition, slug: "baz", parent_category_id: quxbar.id) quxbarbaz = Fabricate(:category_with_definition, slug: "baz", parent_category_id: quxbar.id)
first_bar = foobar.id < quxbar.id ? foobar : quxbar
first_baz = foobarbaz.id < quxbarbaz.id ? foobarbaz : quxbarbaz
first_barbaz = foobar.id < quxbar.id ? foobarbaz : quxbarbaz
get "/category_hashtags/check.json", params: { get "/category_hashtags/check.json", params: {
category_slugs: [ category_slugs: [
":", ":",
@ -88,10 +84,10 @@ describe CategoryHashtagsController do
expect(response.status).to eq(200) expect(response.status).to eq(200)
expect(response.parsed_body["valid"]).to contain_exactly( expect(response.parsed_body["valid"]).to contain_exactly(
{ "slug" => "foo", "url" => foo.url }, { "slug" => "foo", "url" => foo.url },
{ "slug" => "bar", "url" => first_bar.url }, { "slug" => "bar", "url" => foobar.url },
{ "slug" => "foo:bar", "url" => foobar.url }, { "slug" => "foo:bar", "url" => foobar.url },
{ "slug" => "baz", "url" => first_baz.url }, { "slug" => "baz", "url" => foobarbaz.url },
{ "slug" => "bar:baz", "url" => first_barbaz.url }, { "slug" => "bar:baz", "url" => foobarbaz.url },
{ "slug" => "qux", "url" => qux.url }, { "slug" => "qux", "url" => qux.url },
{ "slug" => "qux:bar", "url" => quxbar.url } { "slug" => "qux:bar", "url" => quxbar.url }
) )