From 1722442e9f8eb4f2f705c3c06e83b7ffc653b5e8 Mon Sep 17 00:00:00 2001 From: Kristin Bi Date: Wed, 9 Mar 2022 11:03:45 -0800 Subject: [PATCH 1/4] upstream checkRun to include conclusion --- lib/src/common/model/checks.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/common/model/checks.dart b/lib/src/common/model/checks.dart index 848a3bec..8d497540 100644 --- a/lib/src/common/model/checks.dart +++ b/lib/src/common/model/checks.dart @@ -94,6 +94,7 @@ class CheckRun { final int? checkSuiteId; final String? detailsUrl; final DateTime startedAt; + final CheckRunConclusion conclusion; const CheckRun._({ required this.id, @@ -104,6 +105,7 @@ class CheckRun { required this.name, required this.detailsUrl, required this.startedAt, + required this.conclusion, }); factory CheckRun.fromJson(Map input) { @@ -127,6 +129,7 @@ class CheckRun { checkSuiteId: input['check_suite']['id'], detailsUrl: input['details_url'], startedAt: DateTime.parse(input['started_at']), + conclusion: CheckRunConclusion._fromValue(input['conclusion']), ); } @@ -142,6 +145,7 @@ class CheckRun { }, 'details_url': detailsUrl, 'started_at': startedAt.toIso8601String(), + 'conclusion': conclusion, }; } } From c99a357a89d422f45551b99aa6ce1a2283237c1b Mon Sep 17 00:00:00 2001 From: Kristin Bi Date: Wed, 9 Mar 2022 11:23:34 -0800 Subject: [PATCH 2/4] update changelog --- CHANGELOG.md | 3 +++ pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 568d2082..85c3a591 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ Map? files; **Full Changelog**: https://github.com/SpinlockLabs/github.dart/compare/8.5.0...9.0.0 +## 9.0.1 +- Add `conclusion` property in class `CheckRun` + ## 8.5.0 * Adds listing and creating PR Reviews, listing users in an org by @robrbecker in https://github.com/SpinlockLabs/github.dart/pull/287 diff --git a/pubspec.yaml b/pubspec.yaml index f8b3ebf4..6c039ca0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: github -version: 9.0.0 +version: 9.0.1 description: A high-level GitHub API Client Library that uses Github's v3 API homepage: https://github.com/SpinlockLabs/github.dart From 8c9b5b0321eb82b29e595116b19dd995ded54369 Mon Sep 17 00:00:00 2001 From: Kristin Bi Date: Wed, 9 Mar 2022 13:47:08 -0800 Subject: [PATCH 3/4] add check test --- test/unit/checks_test.dart | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test/unit/checks_test.dart diff --git a/test/unit/checks_test.dart b/test/unit/checks_test.dart new file mode 100644 index 00000000..498285ad --- /dev/null +++ b/test/unit/checks_test.dart @@ -0,0 +1,30 @@ +import 'dart:convert'; + +import 'package:github/src/common/model/checks.dart'; +import 'package:test/test.dart'; + +void main() { + group('Check run', () { + test('CheckRun fromJson', () { + // This is a truncated version of the response + const checkRunJson = '''{ + "id": 4, + "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "external_id": "", + "details_url": "https://example.com", + "status": "completed", + "conclusion": "neutral", + "started_at": "2018-05-04T01:14:52Z", + "name": "mighty_readme", + "check_suite": { + "id": 5 + } + }'''; + final checkRun = CheckRun.fromJson(jsonDecode(checkRunJson)); + + expect(checkRun.id, 4); + expect(checkRun.name, 'mighty_readme'); + expect(checkRun.conclusion, CheckRunConclusion.neutral); + }); + }); +} From 6595153e89ee7012c86e51fcbc652bbe27c0a0d2 Mon Sep 17 00:00:00 2001 From: Kristin Bi Date: Wed, 9 Mar 2022 13:54:56 -0800 Subject: [PATCH 4/4] use official value --- test/unit/checks_test.dart | 83 +++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 2 deletions(-) diff --git a/test/unit/checks_test.dart b/test/unit/checks_test.dart index 498285ad..15c8f9d8 100644 --- a/test/unit/checks_test.dart +++ b/test/unit/checks_test.dart @@ -6,19 +6,98 @@ import 'package:test/test.dart'; void main() { group('Check run', () { test('CheckRun fromJson', () { - // This is a truncated version of the response + /// The checkRun Json is the official Github values + /// + /// Github api url: https://docs.github.com/en/rest/reference/checks#get-a-check-run const checkRunJson = '''{ "id": 4, "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", + "node_id": "MDg6Q2hlY2tSdW40", "external_id": "", + "url": "https://api.github.com/repos/github/hello-world/check-runs/4", + "html_url": "https://github.com/github/hello-world/runs/4", "details_url": "https://example.com", "status": "completed", "conclusion": "neutral", "started_at": "2018-05-04T01:14:52Z", + "completed_at": "2018-05-04T01:14:52Z", + "output": { + "title": "Mighty Readme report", + "summary": "There are 0 failures, 2 warnings, and 1 notice.", + "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", + "annotations_count": 2, + "annotations_url": "https://api.github.com/repos/github/hello-world/check-runs/4/annotations" + }, "name": "mighty_readme", "check_suite": { "id": 5 - } + }, + "app": { + "id": 1, + "slug": "octoapp", + "node_id": "MDExOkludGVncmF0aW9uMQ==", + "owner": { + "login": "github", + "id": 1, + "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", + "url": "https://api.github.com/orgs/github", + "repos_url": "https://api.github.com/orgs/github/repos", + "events_url": "https://api.github.com/orgs/github/events", + "avatar_url": "https://github.com/images/error/octocat_happy.gif", + "gravatar_id": "", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": true + }, + "name": "Octocat App", + "description": "", + "external_url": "https://example.com", + "html_url": "https://github.com/apps/octoapp", + "created_at": "2017-07-08T16:18:44-04:00", + "updated_at": "2017-07-08T16:18:44-04:00", + "permissions": { + "metadata": "read", + "contents": "read", + "issues": "write", + "single_file": "write" + }, + "events": [ + "push", + "pull_request" + ] + }, + "pull_requests": [ + { + "url": "https://api.github.com/repos/github/hello-world/pulls/1", + "id": 1934, + "number": 3956, + "head": { + "ref": "say-hello", + "sha": "3dca65fa3e8d4b3da3f3d056c59aee1c50f41390", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + }, + "base": { + "ref": "master", + "sha": "e7fdf7640066d71ad16a86fbcbb9c6a10a18af4f", + "repo": { + "id": 526, + "url": "https://api.github.com/repos/github/hello-world", + "name": "hello-world" + } + } + } + ] }'''; final checkRun = CheckRun.fromJson(jsonDecode(checkRunJson));