@@ -13,11 +13,12 @@ const config = require('../../../../config');
13
13
const { Site, User, BuildLog } = require ( '../../../../api/models' ) ;
14
14
const sessionConfig = require ( '../../../../api/admin/sessionConfig' ) ;
15
15
const app = require ( '../../../../api/admin' ) ;
16
+ const { createSiteUserOrg } = require ( '../../support/site-user' ) ;
16
17
17
18
const itShouldRequireAdminAuthentication = ( path , schema , method = 'get' ) => {
18
19
it ( 'should require admin authentication' , async ( ) => {
19
20
const response = await request ( app ) [ method ] ( path ) . expect ( 401 ) ;
20
- validateAgainstJSONSchema ( 'GET' , schema , 401 , response . body ) ;
21
+ validateAgainstJSONSchema ( method , schema , 401 , response . body ) ;
21
22
expect ( response . body . message ) . to . equal ( 'Unauthorized' ) ;
22
23
} ) ;
23
24
} ;
@@ -135,6 +136,27 @@ describe('Admin - Site API', () => {
135
136
} ) ;
136
137
} ) ;
137
138
139
+ describe ( 'POST /builds' , ( ) => {
140
+ describe ( 'rebuild' , ( ) => {
141
+ it ( 'rebuilds a specified build' , async ( ) => {
142
+ const { site, user } = await createSiteUserOrg ( ) ;
143
+ const build = await factory . build ( { site } ) ;
144
+
145
+ const cookie = await authenticatedAdminOrSupportSession ( user , sessionConfig ) ;
146
+ await request ( app )
147
+ . post ( `/builds` )
148
+ . set ( 'Cookie' , cookie )
149
+ . set ( 'Origin' , config . app . adminHostname )
150
+ . set ( 'x-csrf-token' , csrfToken . getToken ( ) )
151
+ . send ( {
152
+ buildId : build . id ,
153
+ siteId : site . id ,
154
+ } )
155
+ . expect ( 200 ) ;
156
+ } ) ;
157
+ } ) ;
158
+ } ) ;
159
+
138
160
describe ( 'GET /builds/:id/log' , ( ) => {
139
161
itShouldRequireAdminAuthentication ( '/builds/1/log' , '/build/{build_id}/log' ) ;
140
162
0 commit comments