feat: add persistent pull request sort and filter menus
This commit is contained in:
+20
-10
@@ -498,6 +498,7 @@ fn summaries_keep_outstanding_requests_and_approvals_independent() {
|
||||
});
|
||||
}
|
||||
Ok(json!([{"number":7,"iid":7,"title":"Request again","created_at":"2024-01-01T00:00:00Z",
|
||||
"updated_at":"2024-01-02T01:00:00+01:00",
|
||||
"state":if provider == Provider::Gitlab { "opened" } else { "open" },
|
||||
"merged":false,"merged_at":null,"user":{"login":"author"},"author":{"username":"author"},
|
||||
"requested_reviewers":[{"login":"viewer","id":42}],"reviewers":[{"username":"viewer"}],
|
||||
@@ -506,6 +507,7 @@ fn summaries_keep_outstanding_requests_and_approvals_independent() {
|
||||
assert_eq!(page.entries.len(), 1);
|
||||
assert!(page.entries[0].approved && page.entries[0].review_requested);
|
||||
assert!(page.entries[0].description.contains("+1 -2"));
|
||||
assert_eq!(page.entries[0].updated_at, "2024-01-02T00:00:00.000000000Z");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -524,7 +526,8 @@ fn draft_summaries_keep_open_closed_and_merged_states_distinct() {
|
||||
else if provider == Provider::Gitlab { "opened" } else { "open" },
|
||||
"merged": merged,
|
||||
"merged_at": if merged { Some("2024-01-02T00:00:00Z") } else { None },
|
||||
"user": null, "author": null, "created_at": "2024-01-01T00:00:00Z"
|
||||
"user": null, "author": null, "created_at": "2024-01-01T00:00:00Z",
|
||||
"updated_at": "2024-01-02T00:00:00Z"
|
||||
});
|
||||
let entry = summary(provider, &value, Some((1, 2))).unwrap();
|
||||
assert!(entry.draft);
|
||||
@@ -602,6 +605,7 @@ fn pull_request_sizes_include_zero_and_preserve_unknown_statistics() {
|
||||
"state":if provider == Provider::Gitlab { "opened" } else { "open" },
|
||||
"user":{"login":"author"}, "author":{"username":"author"},
|
||||
"created_at":"2024-01-01T00:00:00Z",
|
||||
"updated_at":"2024-01-02T00:00:00Z",
|
||||
"base":{"ref":"main"}, "head":{"ref":"topic"},
|
||||
"target_branch":"main", "source_branch":"topic",
|
||||
"additions":match id { 7 => Some(123), 8 => Some(0), _ => None },
|
||||
@@ -654,10 +658,10 @@ fn pages_are_bounded_newest_first_summaries_without_historical_metadata() {
|
||||
assert_eq!(url, format!("{}?{query}", forge.endpoint));
|
||||
Ok(json!([
|
||||
{"number": 1, "iid": 1, "title": "Older", "state": if provider == Provider::Gitlab { "opened" } else { "open" },
|
||||
"user": null, "author": null, "merged_at": null, "merged": false, "created_at": "2024-01-01T01:00:00+01:00"},
|
||||
"user": null, "author": null, "merged_at": null, "merged": false, "created_at": "2024-01-01T01:00:00+01:00", "updated_at":"2024-02-01T01:00:00+01:00"},
|
||||
{"number": 2, "iid": 2, "title": "Newer", "state": if provider == Provider::Gitlab { "opened" } else { "open" },
|
||||
"user": {"login": "author"}, "author": {"username": "author"}, "merged_at": null, "merged": false,
|
||||
"created_at": "2024-01-01T00:00:00.001Z", "diff_refs": null, "head": {"sha": "not-a-commit"}}
|
||||
"created_at": "2024-01-01T00:00:00.001Z", "updated_at":"2024-02-01T00:00:00.001Z", "diff_refs": null, "head": {"sha": "not-a-commit"}}
|
||||
]))
|
||||
}).unwrap();
|
||||
assert_eq!(
|
||||
@@ -665,6 +669,8 @@ fn pages_are_bounded_newest_first_summaries_without_historical_metadata() {
|
||||
[2, 1]
|
||||
);
|
||||
assert!(page.entries[1].description.contains("deleted user"));
|
||||
assert_eq!(page.entries[1].updated_at, "2024-02-01T00:00:00.000000000Z");
|
||||
assert_eq!(page.entries[0].updated_at, "2024-02-01T00:00:00.001000000Z");
|
||||
assert!(
|
||||
page.has_more,
|
||||
"A short, server-capped page is not exhaustion"
|
||||
@@ -708,7 +714,7 @@ fn gitlab_closed_combines_closed_and_merged_pages_without_open_requests() {
|
||||
_ => return Ok(json!([])),
|
||||
};
|
||||
Ok(json!([{"iid": id, "title": state, "state": state,
|
||||
"author": null, "created_at": date, "diff_refs": null}]))
|
||||
"author": null, "created_at": date, "updated_at": date, "diff_refs": null}]))
|
||||
})
|
||||
.unwrap();
|
||||
assert_eq!(states, ["closed", "merged"]);
|
||||
@@ -733,7 +739,7 @@ fn gitlab_closed_combines_closed_and_merged_pages_without_open_requests() {
|
||||
return Err("statistics unavailable".into());
|
||||
}
|
||||
Ok(json!([{"iid": 7, "title": "Raced merge", "state": if url.contains("?state=merged&") { "merged" } else { "closed" },
|
||||
"author": null, "created_at": "2024-01-01T00:00:00Z"}]))
|
||||
"author": null, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-02T00:00:00Z"}]))
|
||||
}).unwrap();
|
||||
assert_eq!(raced.entries.len(), 1);
|
||||
assert!(raced.entries[0].description.contains("merged"));
|
||||
@@ -755,7 +761,9 @@ fn timestamps_normalize_offsets_precision_and_calendar_boundaries() {
|
||||
"2024-01-01T00:00:00.000000001Z",
|
||||
),
|
||||
] {
|
||||
assert_eq!(created_at(&json!({"created_at": input})).unwrap(), expected);
|
||||
for key in ["created_at", "updated_at"] {
|
||||
assert_eq!(timestamp(&json!({(key): input}), key).unwrap(), expected);
|
||||
}
|
||||
}
|
||||
for input in [
|
||||
"",
|
||||
@@ -770,10 +778,12 @@ fn timestamps_normalize_offsets_precision_and_calendar_boundaries() {
|
||||
"0001-01-01T00:00:00+01:00",
|
||||
"9999-12-31T23:00:00-02:00",
|
||||
] {
|
||||
assert!(
|
||||
created_at(&json!({"created_at": input})).is_err(),
|
||||
"{input}"
|
||||
);
|
||||
for key in ["created_at", "updated_at"] {
|
||||
assert!(
|
||||
timestamp(&json!({(key): input}), key).is_err(),
|
||||
"{key}: {input}"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user