@@ -2879,136 +2879,3 @@ func TestProjectsV1Deprecation(t *testing.T) {
28792879 })
28802880 })
28812881}
2882-
2883- func Test_requestableReviewersForCompletion (t * testing.T ) {
2884- tests := []struct {
2885- name string
2886- tty bool
2887- expectedReviewers []string
2888- httpStubs func (* httpmock.Registry , * testing.T )
2889- }{
2890- {
2891- name : "when users and teams are both available, both are listed" ,
2892- expectedReviewers : []string {"MonaLisa\t Mona Display Name" , "OWNER/core" , "OWNER/robots" , "hubot" },
2893- httpStubs : func (reg * httpmock.Registry , t * testing.T ) {
2894- reg .Register (
2895- httpmock .GraphQL (`query UserCurrent\b` ),
2896- httpmock .StringResponse (`{"data": {"viewer": {"login": "OWNER"} } }` ))
2897- reg .Register (
2898- httpmock .GraphQL (`query RepositoryAssignableUsers\b` ),
2899- httpmock .StringResponse (`
2900- { "data": { "repository": { "assignableUsers": {
2901- "nodes": [
2902- { "login": "hubot", "id": "HUBOTID", "name": "" },
2903- { "login": "MonaLisa", "id": "MONAID", "name": "Mona Display Name" }
2904- ],
2905- "pageInfo": { "hasNextPage": false }
2906- } } } }
2907- ` ))
2908- reg .Register (
2909- httpmock .GraphQL (`query OrganizationTeamList\b` ),
2910- httpmock .StringResponse (`
2911- { "data": { "organization": { "teams": {
2912- "nodes": [
2913- { "slug": "core", "id": "COREID" },
2914- { "slug": "robots", "id": "ROBOTID" }
2915- ],
2916- "pageInfo": { "hasNextPage": false }
2917- } } } }
2918- ` ))
2919- },
2920- },
2921- {
2922- name : "when users are available but teams aren't, users are listed" ,
2923- expectedReviewers : []string {"MonaLisa\t Mona Display Name" , "hubot" },
2924- httpStubs : func (reg * httpmock.Registry , t * testing.T ) {
2925- reg .Register (
2926- httpmock .GraphQL (`query UserCurrent\b` ),
2927- httpmock .StringResponse (`{"data": {"viewer": {"login": "OWNER"} } }` ))
2928- reg .Register (
2929- httpmock .GraphQL (`query RepositoryAssignableUsers\b` ),
2930- httpmock .StringResponse (`
2931- { "data": { "repository": { "assignableUsers": {
2932- "nodes": [
2933- { "login": "hubot", "id": "HUBOTID", "name": "" },
2934- { "login": "MonaLisa", "id": "MONAID", "name": "Mona Display Name" }
2935- ],
2936- "pageInfo": { "hasNextPage": false }
2937- } } } }
2938- ` ))
2939- reg .Register (
2940- httpmock .GraphQL (`query OrganizationTeamList\b` ),
2941- httpmock .StringResponse (`
2942- { "data": { "organization": { "teams": {
2943- "nodes": [],
2944- "pageInfo": { "hasNextPage": false }
2945- } } } }
2946- ` ))
2947- },
2948- },
2949- {
2950- name : "when teams are available but users aren't, teams are listed" ,
2951- expectedReviewers : []string {"OWNER/core" , "OWNER/robots" },
2952- httpStubs : func (reg * httpmock.Registry , t * testing.T ) {
2953- reg .Register (
2954- httpmock .GraphQL (`query UserCurrent\b` ),
2955- httpmock .StringResponse (`{"data": {"viewer": {"login": "OWNER"} } }` ))
2956- reg .Register (
2957- httpmock .GraphQL (`query RepositoryAssignableUsers\b` ),
2958- httpmock .StringResponse (`
2959- { "data": { "repository": { "assignableUsers": {
2960- "nodes": [],
2961- "pageInfo": { "hasNextPage": false }
2962- } } } }
2963- ` ))
2964- reg .Register (
2965- httpmock .GraphQL (`query OrganizationTeamList\b` ),
2966- httpmock .StringResponse (`
2967- { "data": { "organization": { "teams": {
2968- "nodes": [
2969- { "slug": "core", "id": "COREID" },
2970- { "slug": "robots", "id": "ROBOTID" }
2971- ],
2972- "pageInfo": { "hasNextPage": false }
2973- } } } }
2974- ` ))
2975- },
2976- },
2977- }
2978-
2979- for _ , tt := range tests {
2980- t .Run (tt .name , func (t * testing.T ) {
2981- reg := & httpmock.Registry {}
2982- defer reg .Verify (t )
2983- if tt .httpStubs != nil {
2984- tt .httpStubs (reg , t )
2985- }
2986-
2987- ios , _ , _ , _ := iostreams .Test ()
2988- ios .SetStdoutTTY (tt .tty )
2989- ios .SetStdinTTY (tt .tty )
2990- ios .SetStderrTTY (tt .tty )
2991-
2992- opts := & CreateOptions {}
2993- opts .IO = ios
2994- opts .HttpClient = func () (* http.Client , error ) {
2995- return & http.Client {Transport : reg }, nil
2996- }
2997- opts .Remotes = func () (context.Remotes , error ) {
2998- return context.Remotes {
2999- {
3000- Remote : & git.Remote {
3001- Name : "origin" ,
3002- Resolved : "base" ,
3003- },
3004- Repo : ghrepo .New ("OWNER" , "REPO" ),
3005- },
3006- }, nil
3007- }
3008-
3009- reviewers , err := requestableReviewersForCompletion (opts )
3010- require .NoError (t , err )
3011- require .Equal (t , tt .expectedReviewers , reviewers )
3012- })
3013- }
3014- }
0 commit comments