Files
gitlore/tests/mr_discussion_tests.rs
Taylor Eernisse dd2869fd98 test: Remove redundant comments from test files
Applies the same doc comment cleanup to test files:
- Removes test module headers (//! lines)
- Removes obvious test function comments
- Retains comments explaining non-obvious test scenarios

Test names should be descriptive enough to convey intent without
additional comments. Complex test setup or assertions that need
explanation retain their comments.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 00:04:39 -05:00

104 lines
2.9 KiB
Rust

use lore::gitlab::transformers::discussion::transform_mr_discussion;
use lore::gitlab::types::{GitLabAuthor, GitLabDiscussion, GitLabNote};
fn make_author() -> GitLabAuthor {
GitLabAuthor {
id: 1,
username: "testuser".to_string(),
name: "Test User".to_string(),
}
}
fn make_basic_note(id: i64, created_at: &str) -> GitLabNote {
GitLabNote {
id,
note_type: Some("DiscussionNote".to_string()),
body: format!("Note {}", id),
author: make_author(),
created_at: created_at.to_string(),
updated_at: created_at.to_string(),
system: false,
resolvable: false,
resolved: false,
resolved_by: None,
resolved_at: None,
position: None,
}
}
fn make_discussion(notes: Vec<GitLabNote>) -> GitLabDiscussion {
GitLabDiscussion {
id: "abc123def456".to_string(),
individual_note: false,
notes,
}
}
#[test]
fn transform_mr_discussion_sets_merge_request_id() {
let note = make_basic_note(1, "2024-01-16T09:00:00.000Z");
let discussion = make_discussion(vec![note]);
let result = transform_mr_discussion(&discussion, 100, 42);
assert_eq!(result.merge_request_id, Some(42));
assert_eq!(result.issue_id, None);
assert_eq!(result.noteable_type, "MergeRequest");
}
#[test]
fn transform_mr_discussion_preserves_project_id() {
let note = make_basic_note(1, "2024-01-16T09:00:00.000Z");
let discussion = make_discussion(vec![note]);
let result = transform_mr_discussion(&discussion, 200, 42);
assert_eq!(result.project_id, 200);
}
#[test]
fn transform_mr_discussion_preserves_discussion_id() {
let note = make_basic_note(1, "2024-01-16T09:00:00.000Z");
let discussion = make_discussion(vec![note]);
let result = transform_mr_discussion(&discussion, 100, 42);
assert_eq!(result.gitlab_discussion_id, "abc123def456");
}
#[test]
fn transform_mr_discussion_computes_resolvable_from_notes() {
let mut note = make_basic_note(1, "2024-01-16T09:00:00.000Z");
note.resolvable = true;
let discussion = make_discussion(vec![note]);
let result = transform_mr_discussion(&discussion, 100, 42);
assert!(result.resolvable);
assert!(!result.resolved);
}
#[test]
fn transform_mr_discussion_computes_resolved_when_all_resolved() {
let mut note = make_basic_note(1, "2024-01-16T09:00:00.000Z");
note.resolvable = true;
note.resolved = true;
let discussion = make_discussion(vec![note]);
let result = transform_mr_discussion(&discussion, 100, 42);
assert!(result.resolvable);
assert!(result.resolved);
}
#[test]
fn transform_mr_discussion_handles_individual_note() {
let note = make_basic_note(1, "2024-01-16T09:00:00.000Z");
let mut discussion = make_discussion(vec![note]);
discussion.individual_note = true;
let result = transform_mr_discussion(&discussion, 100, 42);
assert!(result.individual_note);
}