Skip to content

Commit f8989d4

Browse files
authored
DEV: Migrate category expert suggestion to reviewable-refresh (#217)
This migrates ReviewableCategoryExpertSuggestion to use Discourse's new reviewable-refresh component system: - Add reviewable-refresh/category-expert-suggestion.gjs component that wraps the legacy component in the new structure - Register the reviewable type label using registerReviewableTypeLabel - Update system specs to use refreshed review page objects and new CSS selectors (.review-item instead of .reviewable-item)
1 parent 6e3f6dd commit f8989d4

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* eslint-disable ember/no-classic-components */
2+
import Component from "@ember/component";
3+
import LegacyCategoryExpertSuggestion from "../reviewable-category-expert-suggestion";
4+
5+
export default class ReviewableLegacyCategoryExpertSuggestion extends Component {
6+
<template>
7+
<div class="review-item__meta-content">
8+
<LegacyCategoryExpertSuggestion @reviewable={{@reviewable}}>
9+
{{yield}}
10+
</LegacyCategoryExpertSuggestion>
11+
</div>
12+
</template>
13+
}

assets/javascripts/discourse/pre-initializers/extend-for-category-experts.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { and } from "@ember/object/computed";
2+
import { registerReviewableTypeLabel } from "discourse/components/reviewable-refresh/item";
23
import { withPluginApi } from "discourse/lib/plugin-api";
34
import Composer from "discourse/models/composer";
45
import ExpertGroupChooserModal from "../components/modal/expert-group-chooser";
@@ -19,6 +20,11 @@ export default {
1920
"is_category_expert_question"
2021
);
2122

23+
registerReviewableTypeLabel(
24+
"ReviewableCategoryExpertSuggestion",
25+
"review.types.reviewable_category_expert_suggestion.title"
26+
);
27+
2228
withPluginApi((api) => {
2329
api.modifyClass(
2430
"model:category",

spec/system/reviewable_category_expert_suggestion_spec.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
fab!(:category)
77
fab!(:group)
88
let(:modal) { PageObjects::Modals::Base.new }
9+
let(:refreshed_review_page) { PageObjects::Pages::RefreshedReview.new }
910

1011
before do
1112
SiteSetting.enable_category_experts = true
@@ -56,11 +57,11 @@
5657
visit "/review"
5758

5859
reviewable = ReviewableCategoryExpertSuggestion.find_by(target: endorsement)
59-
expect(page).to have_css(".reviewable-item[data-reviewable-id=\"#{reviewable.id}\"]")
60+
expect(page).to have_css(".review-item[data-reviewable-id=\"#{reviewable.id}\"]")
6061

61-
find(".reviewable-action", text: /Ignore/).click
62-
expect(page).to have_content(I18n.t("js.review.none"), wait: 5)
63-
expect(reviewable.reload.status).to eq("rejected")
62+
find(".category-expert-endorsement-deny-category-expert", text: /Ignore/).click
63+
64+
expect(refreshed_review_page).to have_reviewable_with_rejected_status(reviewable)
6465
end
6566
end
6667
end

0 commit comments

Comments
 (0)