Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added tests/scripts/__init__.py
Empty file.
Empty file added tests/scripts/ci/__init__.py
Empty file.
80 changes: 80 additions & 0 deletions tests/scripts/ci/test_pr_review_merge_scheduler.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import pytest

from scripts.ci.pr_review_merge_scheduler import is_opencode_context

def test_is_opencode_context_checkrun_name():
node = {
"__typename": "CheckRun",
"name": "opencode-review",
}
assert is_opencode_context(node) is True

def test_is_opencode_context_checkrun_workflow_name():
node = {
"__typename": "CheckRun",
"name": "other-check",
"checkSuite": {
"workflowRun": {
"workflow": {
"name": "OpenCode Review"
}
}
}
}
assert is_opencode_context(node) is True

def test_is_opencode_context_checkrun_false():
node = {
"__typename": "CheckRun",
"name": "other-check",
"checkSuite": {
"workflowRun": {
"workflow": {
"name": "Other Workflow"
}
}
}
}
assert is_opencode_context(node) is False

def test_is_opencode_context_checkrun_missing_fields():
node = {
"__typename": "CheckRun",
"name": "other-check",
"checkSuite": {}
}
assert is_opencode_context(node) is False

node2 = {
"__typename": "CheckRun",
"name": "other-check",
# missing checkSuite entirely
}
assert is_opencode_context(node2) is False

def test_is_opencode_context_statuscontext_match():
node = {
"__typename": "StatusContext",
"context": "opencode-review",
}
assert is_opencode_context(node) is True

def test_is_opencode_context_statuscontext_mismatch():
node = {
"__typename": "StatusContext",
"context": "other-review",
}
assert is_opencode_context(node) is False

def test_is_opencode_context_statuscontext_missing():
node = {
"__typename": "StatusContext",
# missing context
}
assert is_opencode_context(node) is False

def test_is_opencode_context_missing_typename():
node = {
"context": "opencode-review",
}
assert is_opencode_context(node) is True
Loading