@@ -22,8 +22,18 @@ Given('no rulesets are defined for the repository', async function () {
2222} )
2323
2424Given ( 'a ruleset exists for the repository' , async function ( ) {
25- const rulesetSubset = { name : rulesetName }
26- const existingRulesets = [ { id : rulesetId , ...rulesetSubset } ]
25+ const existingRulesetSubset = {
26+ id : rulesetId ,
27+ name : rulesetName ,
28+ _links : any . simpleObject ( ) ,
29+ created_at : any . string ( ) ,
30+ updated_at : any . string ( ) ,
31+ source_type : any . word ( ) ,
32+ source : any . string ( ) ,
33+ node_id : any . string ( )
34+ }
35+ const existingRuleset = { ...existingRulesetSubset }
36+ const existingRulesets = [ existingRuleset ]
2737
2838 this . server . use (
2939 http . get ( `https://api.github.com/repos/${ repository . owner . name } /${ repository . name } /rulesets` , ( { request } ) => {
@@ -38,7 +48,12 @@ Given('a ruleset exists for the repository', async function () {
3848 } ) ,
3949 http . get (
4050 `https://api.github.com/repos/${ repository . owner . name } /${ repository . name } /rulesets/${ rulesetId } ` ,
41- ( { request } ) => HttpResponse . json ( { id : rulesetId , ...rulesetSubset , rules : existingRules } )
51+ ( { request } ) =>
52+ HttpResponse . json ( {
53+ ...existingRuleset ,
54+ rules : existingRules ,
55+ current_user_can_bypass : any . boolean ( )
56+ } )
4257 )
4358 )
4459} )
@@ -105,6 +120,19 @@ Given('the ruleset is removed from the config', async function () {
105120 )
106121} )
107122
123+ Given ( 'no ruleset updates are made to the config' , async function ( ) {
124+ const existingRuleset = { name : rulesetName , rules : existingRules }
125+
126+ this . server . use (
127+ http . get (
128+ `https://api.github.com/repos/${ repository . owner . name } /${ repository . name } /contents/${ encodeURIComponent (
129+ settings . FILE_NAME
130+ ) } `,
131+ ( { request } ) => HttpResponse . arrayBuffer ( Buffer . from ( dump ( { rulesets : [ existingRuleset ] } ) ) )
132+ )
133+ )
134+ } )
135+
108136Then ( 'the ruleset is enabled for the repository' , async function ( ) {
109137 assert . deepEqual ( this . createdRuleset , this . ruleset )
110138} )
@@ -116,3 +144,7 @@ Then('the ruleset is updated', async function () {
116144Then ( 'the ruleset is deleted' , async function ( ) {
117145 assert . equal ( this . removedRuleset , rulesetId )
118146} )
147+
148+ Then ( 'no ruleset updates are triggered' , async function ( ) {
149+ return undefined
150+ } )
0 commit comments