diff --git a/tests/test_models.py b/tests/test_models.py new file mode 100644 index 0000000..769dc65 --- /dev/null +++ b/tests/test_models.py @@ -0,0 +1,61 @@ +import pytest +from src.models.entities import Repository, PullRequest, Issue, Workflow, Config +from src.models.types import Provider, IssueStatus, WorkflowStatus, PRStatus +from datetime import datetime + + +class TestRepository: + def test_create_repository(self): + repo = Repository( + name="test-repo", + owner="testuser", + full_name="testuser/test-repo", + provider=Provider.GITHUB, + ) + assert repo.name == "test-repo" + assert repo.owner == "testuser" + assert repo.provider == Provider.GITHUB + + +class TestPullRequest: + def test_create_pull_request(self): + pr = PullRequest( + number=1, + title="Test PR", + author="testuser", + status=PRStatus.OPEN, + ) + assert pr.number == 1 + assert pr.title == "Test PR" + assert pr.status == PRStatus.OPEN + + +class TestIssue: + def test_create_issue(self): + issue = Issue( + number=1, + title="Test Issue", + author="testuser", + status=IssueStatus.OPEN, + ) + assert issue.number == 1 + assert issue.status == IssueStatus.OPEN + + +class TestWorkflow: + def test_create_workflow(self): + workflow = Workflow( + id=1, + name="CI", + status=WorkflowStatus.SUCCESS, + ) + assert workflow.id == 1 + assert workflow.status == WorkflowStatus.SUCCESS + + +class TestConfig: + def test_default_config(self): + config = Config() + assert config.refresh_interval == 30 + assert config.theme == "dark" + assert config.github_token is None