fix: align Ticket review revision checks
This commit is contained in:
@@ -1655,25 +1655,20 @@ fn current_ticket_revision(
|
|||||||
workspace_id: &str,
|
workspace_id: &str,
|
||||||
ticket_id: &str,
|
ticket_id: &str,
|
||||||
) -> Result<Option<String>, MergeRequestError> {
|
) -> Result<Option<String>, MergeRequestError> {
|
||||||
let event_revision = connection
|
let event_index = connection
|
||||||
.query_row(
|
.query_row(
|
||||||
"SELECT attribute.value
|
"SELECT event_index
|
||||||
FROM typed_ticket_events event
|
FROM typed_ticket_events
|
||||||
JOIN typed_ticket_event_attributes attribute
|
WHERE workspace_id=?1 AND ticket_id=?2
|
||||||
ON attribute.workspace_id=event.workspace_id
|
AND kind IN ('create','item_edit')
|
||||||
AND attribute.ticket_id=event.ticket_id
|
ORDER BY event_index DESC
|
||||||
AND attribute.event_index=event.event_index
|
|
||||||
AND attribute.key='event_id'
|
|
||||||
WHERE event.workspace_id=?1 AND event.ticket_id=?2
|
|
||||||
AND event.kind IN ('create','item_edit')
|
|
||||||
ORDER BY event.event_index DESC
|
|
||||||
LIMIT 1",
|
LIMIT 1",
|
||||||
params![workspace_id, ticket_id],
|
params![workspace_id, ticket_id],
|
||||||
|row| row.get(0),
|
|row| row.get::<_, i64>(0),
|
||||||
)
|
)
|
||||||
.optional()?;
|
.optional()?;
|
||||||
if event_revision.is_some() {
|
if let Some(event_index) = event_index {
|
||||||
return Ok(event_revision);
|
return Ok(Some(format!("{ticket_id}:{event_index}")));
|
||||||
}
|
}
|
||||||
connection
|
connection
|
||||||
.query_row(
|
.query_row(
|
||||||
|
|||||||
@@ -818,7 +818,7 @@ fn ticket_rescope_requires_fresh_review_before_merge_and_remains_recoverable() {
|
|||||||
.request_review(RequestMergeRequestReview {
|
.request_review(RequestMergeRequestReview {
|
||||||
merge_request_id: "MR".into(),
|
merge_request_id: "MR".into(),
|
||||||
ticket_id: "T".into(),
|
ticket_id: "T".into(),
|
||||||
ticket_item_revision: "t2".into(),
|
ticket_item_revision: "T:1".into(),
|
||||||
ticket_merge_request_subjects: vec![MergeRequestReviewSubject {
|
ticket_merge_request_subjects: vec![MergeRequestReviewSubject {
|
||||||
merge_request_id: "MR".into(),
|
merge_request_id: "MR".into(),
|
||||||
subject_ref: "subject".into(),
|
subject_ref: "subject".into(),
|
||||||
@@ -908,7 +908,7 @@ fn ticket_rescope_after_integration_accepts_fresh_requirement_attestation() {
|
|||||||
.request_review(RequestMergeRequestReview {
|
.request_review(RequestMergeRequestReview {
|
||||||
merge_request_id: "MR".into(),
|
merge_request_id: "MR".into(),
|
||||||
ticket_id: "T".into(),
|
ticket_id: "T".into(),
|
||||||
ticket_item_revision: "t2".into(),
|
ticket_item_revision: "T:1".into(),
|
||||||
ticket_merge_request_subjects: vec![MergeRequestReviewSubject {
|
ticket_merge_request_subjects: vec![MergeRequestReviewSubject {
|
||||||
merge_request_id: "MR".into(),
|
merge_request_id: "MR".into(),
|
||||||
subject_ref: "subject".into(),
|
subject_ref: "subject".into(),
|
||||||
@@ -936,7 +936,7 @@ fn ticket_rescope_after_integration_accepts_fresh_requirement_attestation() {
|
|||||||
.complete_ticket(CompleteTicket {
|
.complete_ticket(CompleteTicket {
|
||||||
ticket_id: "T".into(),
|
ticket_id: "T".into(),
|
||||||
operation_id: "ticket-complete-post-rescope".into(),
|
operation_id: "ticket-complete-post-rescope".into(),
|
||||||
item_revision: "t2".into(),
|
item_revision: "T:1".into(),
|
||||||
merge_request_ids: vec!["MR".into()],
|
merge_request_ids: vec!["MR".into()],
|
||||||
requirement_approval_event_id: requirement_approval.event_id,
|
requirement_approval_event_id: requirement_approval.event_id,
|
||||||
auth: auth(),
|
auth: auth(),
|
||||||
|
|||||||
Reference in New Issue
Block a user