Skip to content

Commit

Permalink
Add conclusion property to CheckRun #298
Browse files Browse the repository at this point in the history
  • Loading branch information
Casey Hillers authored Mar 9, 2022
2 parents 45df396 + 6595153 commit 7d811f1
Show file tree
Hide file tree
Showing 4 changed files with 117 additions and 1 deletion.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ Map<String, GistFile>? 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
Expand Down
4 changes: 4 additions & 0 deletions lib/src/common/model/checks.dart
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ class CheckRun {
final int? checkSuiteId;
final String? detailsUrl;
final DateTime startedAt;
final CheckRunConclusion conclusion;

const CheckRun._({
required this.id,
Expand All @@ -104,6 +105,7 @@ class CheckRun {
required this.name,
required this.detailsUrl,
required this.startedAt,
required this.conclusion,
});

factory CheckRun.fromJson(Map<String, dynamic> input) {
Expand All @@ -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']),
);
}

Expand All @@ -142,6 +145,7 @@ class CheckRun {
},
'details_url': detailsUrl,
'started_at': startedAt.toIso8601String(),
'conclusion': conclusion,
};
}
}
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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

Expand Down
109 changes: 109 additions & 0 deletions test/unit/checks_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
import 'dart:convert';

import 'package:github/src/common/model/checks.dart';
import 'package:test/test.dart';

void main() {
group('Check run', () {
test('CheckRun fromJson', () {
/// 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));

expect(checkRun.id, 4);
expect(checkRun.name, 'mighty_readme');
expect(checkRun.conclusion, CheckRunConclusion.neutral);
});
});
}

0 comments on commit 7d811f1

Please sign in to comment.