11import { expect } from 'chai' ;
22import {
33 VariantAnalysisScannedRepository as ApiVariantAnalysisScannedRepository ,
4- VariantAnalysisSkippedRepositories as ApiVariantAnalysisSkippedRepositories ,
5- VariantAnalysisSkippedRepositoryGroup as ApiVariantAnalysisSkippedRepositoryGroup ,
6- VariantAnalysisNotFoundRepositoryGroup as ApiVariantAnalysisNotFoundRepositoryGroup
74} from '../../../remote-queries/gh-api/variant-analysis' ;
85import {
96 VariantAnalysisQueryLanguage ,
10- VariantAnalysisSkippedRepositories ,
11- VariantAnalysisSkippedRepositoryGroup ,
127 VariantAnalysisScannedRepository ,
138 VariantAnalysisRepoStatus
149} from '../../../remote-queries/shared/variant-analysis' ;
@@ -27,6 +22,8 @@ describe('Variant Analysis processor', function() {
2722 it ( 'should process an API response and return a variant analysis' , ( ) => {
2823 const result = processVariantAnalysis ( mockSubmission , mockApiResponse ) ;
2924
25+ const { access_mismatch_repos, no_codeql_db_repos, not_found_repo_nwos, over_limit_repos } = skippedRepos ;
26+
3027 expect ( result ) . to . eql ( {
3128 'id' : 123 ,
3229 'controllerRepoId' : 456 ,
@@ -47,7 +44,58 @@ describe('Variant Analysis processor', function() {
4744 transformScannedRepo ( VariantAnalysisRepoStatus . Pending , scannedRepos [ 1 ] ) ,
4845 transformScannedRepo ( VariantAnalysisRepoStatus . InProgress , scannedRepos [ 2 ] ) ,
4946 ] ,
50- 'skippedRepos' : transformSkippedRepos ( skippedRepos )
47+ 'skippedRepos' : {
48+ 'accessMismatchRepos' : {
49+ 'repositories' : [
50+ {
51+ 'fullName' : access_mismatch_repos . repositories [ 0 ] . full_name ,
52+ 'id' : access_mismatch_repos . repositories [ 0 ] . id
53+ } ,
54+ {
55+ 'fullName' : access_mismatch_repos . repositories [ 1 ] . full_name ,
56+ 'id' : access_mismatch_repos . repositories [ 1 ] . id
57+ }
58+ ] ,
59+ 'repositoryCount' : access_mismatch_repos . repository_count
60+ } ,
61+ 'noCodeqlDbRepos' : {
62+ 'repositories' : [
63+ {
64+ 'fullName' : no_codeql_db_repos . repositories [ 0 ] . full_name ,
65+ 'id' : no_codeql_db_repos . repositories [ 0 ] . id
66+ } ,
67+ {
68+ 'fullName' : no_codeql_db_repos . repositories [ 1 ] . full_name ,
69+ 'id' : no_codeql_db_repos . repositories [ 1 ] . id ,
70+ }
71+ ] ,
72+ 'repositoryCount' : 2
73+ } ,
74+ 'notFoundRepos' : {
75+ 'repositories' : [
76+ {
77+ 'fullName' : not_found_repo_nwos . repository_full_names [ 0 ]
78+ } ,
79+ {
80+ 'fullName' : not_found_repo_nwos . repository_full_names [ 1 ]
81+ }
82+ ] ,
83+ 'repositoryCount' : not_found_repo_nwos . repository_count
84+ } ,
85+ 'overLimitRepos' : {
86+ 'repositories' : [
87+ {
88+ 'fullName' : over_limit_repos . repositories [ 0 ] . full_name ,
89+ 'id' : over_limit_repos . repositories [ 0 ] . id
90+ } ,
91+ {
92+ 'fullName' : over_limit_repos . repositories [ 1 ] . full_name ,
93+ 'id' : over_limit_repos . repositories [ 1 ] . id
94+ }
95+ ] ,
96+ 'repositoryCount' : over_limit_repos . repository_count
97+ }
98+ }
5199 } ) ;
52100 } ) ;
53101
@@ -67,42 +115,4 @@ describe('Variant Analysis processor', function() {
67115 'resultCount' : scannedRepo . result_count
68116 } ;
69117 }
70-
71- function transformSkippedRepos (
72- skippedRepos : ApiVariantAnalysisSkippedRepositories
73- ) : VariantAnalysisSkippedRepositories {
74- return {
75- accessMismatchRepos : transformSkippedRepoGroup ( skippedRepos . access_mismatch_repos ) ,
76- noCodeqlDbRepos : transformSkippedRepoGroup ( skippedRepos . no_codeql_db_repos ) ,
77- notFoundRepos : transformNotFoundRepoGroup ( skippedRepos . not_found_repo_nwos ) ,
78- overLimitRepos : transformSkippedRepoGroup ( skippedRepos . over_limit_repos )
79- } ;
80- }
81118} ) ;
82-
83- function transformSkippedRepoGroup ( repoGroup : ApiVariantAnalysisSkippedRepositoryGroup ) : VariantAnalysisSkippedRepositoryGroup {
84- const repos = repoGroup . repositories . map ( repo => {
85- return {
86- id : repo . id ,
87- fullName : repo . full_name
88- } ;
89- } ) ;
90-
91- return {
92- repositoryCount : repoGroup . repository_count ,
93- repositories : repos
94- } ;
95- }
96-
97- function transformNotFoundRepoGroup ( repoGroup : ApiVariantAnalysisNotFoundRepositoryGroup ) : VariantAnalysisSkippedRepositoryGroup {
98- const repos = repoGroup . repository_nwos . map ( nwo => {
99- return {
100- fullName : nwo
101- } ;
102- } ) ;
103-
104- return {
105- repositoryCount : repoGroup . repository_count ,
106- repositories : repos
107- } ;
108- }
0 commit comments