Apply code suggestions

This commit is contained in:
Bianca Nenciu 2024-04-03 16:07:32 +03:00
parent 776d45ada4
commit 238f29fbf1
No known key found for this signature in database
GPG Key ID: 07E83B117A6B844D
3 changed files with 13 additions and 21 deletions

View File

@ -40,12 +40,10 @@ Docs.reopenClass({
return ajax(`/${docsPath}.json?${filters.join("&")}`).then((data) => {
const site = Site.current();
if (site.lazy_load_categories) {
data.categories?.forEach((category) => site.updateCategory(category));
data.topics.topic_list.categories?.forEach((category) =>
site.updateCategory(category)
);
}
data.categories?.forEach((category) => site.updateCategory(category));
data.topics.topic_list.categories?.forEach((category) =>
site.updateCategory(category)
);
data.topics.topic_list.topics = data.topics.topic_list.topics.map(
(topic) => Topic.create(topic)
);
@ -60,11 +58,9 @@ Docs.reopenClass({
loadMore(loadMoreUrl) {
return ajax(loadMoreUrl).then((data) => {
const site = Site.current();
if (site.lazy_load_categories) {
data.topics.topic_list.categories?.forEach((category) =>
site.updateCategory(category)
);
}
data.topics.topic_list.categories?.forEach((category) =>
site.updateCategory(category)
);
data.topics.topic_list.topics = data.topics.topic_list.topics.map(
(topic) => Topic.create(topic)
);

View File

@ -230,14 +230,10 @@ module Docs
count = category_counts[category.id]
active = @filters[:category] && @filters[:category].include?(category.id.to_s)
if @guardian.can_lazy_load_categories?
BasicCategorySerializer
.new(categories[id], scope: @guardian, root: false)
.as_json
.merge(count:, active:)
else
{ id: category.id, count:, active: }
end
BasicCategorySerializer
.new(category, scope: @guardian, root: false)
.as_json
.merge(count:, active:)
end
.sort_by { |category| [category[:active] ? 0 : 1, -category[:count]] }
end

View File

@ -174,8 +174,8 @@ describe Docs::DocsController do
topics = json["topics"]["topic_list"]["topics"]
expect(categories.size).to eq(2)
expect(categories[0]).to eq({ "active" => true, "count" => 1, "id" => category2.id })
expect(categories[1]).to eq({ "active" => false, "count" => 2, "id" => category.id })
expect(categories[0]).to include({ "active" => true, "count" => 1, "id" => category2.id })
expect(categories[1]).to include({ "active" => false, "count" => 2, "id" => category.id })
expect(topics.size).to eq(1)
end