feat: configure personal pull request review indicators
This commit is contained in:
@@ -433,6 +433,7 @@ fn pull_page(closed: bool, rows: &[(u64, &str, &str)], has_more: bool) -> Outcom
|
||||
},
|
||||
),
|
||||
date.into(),
|
||||
PullRequestReviewState::None,
|
||||
)
|
||||
})
|
||||
.collect(),
|
||||
@@ -440,6 +441,51 @@ fn pull_page(closed: bool, rows: &[(u64, &str, &str)], has_more: bool) -> Outcom
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pull_request_review_refresh_preserves_identity_sorting_and_raw_search_labels() {
|
||||
let mut state = DiffState::pull_requests("origin".into());
|
||||
state.take_request();
|
||||
state.apply_result(
|
||||
1,
|
||||
Ok(pull_page(
|
||||
false,
|
||||
&[(1, "First", "1"), (2, "Second", "2")],
|
||||
true,
|
||||
)),
|
||||
);
|
||||
state.handle(Input::End);
|
||||
for review_state in [
|
||||
PullRequestReviewState::Approved,
|
||||
PullRequestReviewState::Requested,
|
||||
PullRequestReviewState::None,
|
||||
] {
|
||||
let mut page = pull_page(false, &[(1, "First updated", "3")], true);
|
||||
if let Outcome::PullRequestPage {
|
||||
result: Ok(page), ..
|
||||
} = &mut page
|
||||
{
|
||||
page.entries[0].2 = review_state;
|
||||
}
|
||||
state.apply_result(1, Ok(page));
|
||||
let selected = state.entries().nth(state.selected).unwrap();
|
||||
assert_eq!(selected.label, "#1 First updated");
|
||||
assert_eq!(state.pull_request_review_state(selected), review_state);
|
||||
assert_eq!(state.entries().count(), 2);
|
||||
assert_eq!(state.entries().next().unwrap().target, selected.target);
|
||||
}
|
||||
state.handle(Input::Char('🙏'));
|
||||
assert_eq!(state.entries().count(), 0);
|
||||
state.handle(Input::Backspace);
|
||||
for ch in "#1 First updated".chars() {
|
||||
state.handle(Input::Char(ch));
|
||||
}
|
||||
assert_eq!(state.entries().count(), 1);
|
||||
assert_eq!(
|
||||
state.pull_request_review_state(&catalog().entries[0]),
|
||||
PullRequestReviewState::None
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pull_request_categories_keep_query_and_select_loaded_rows_before_completion() {
|
||||
let mut state = DiffState::pull_requests("origin".into());
|
||||
|
||||
Reference in New Issue
Block a user