/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import 'mocha'
-import { omit } from 'lodash'
+import { merge, omit } from 'lodash'
+import { CustomConfig, HttpStatusCode } from '@shared/models'
import {
cleanupTests,
createSingleServer,
PeerTubeServer,
setAccessTokensToServers
} from '@shared/server-commands'
-import { CustomConfig, HttpStatusCode } from '@shared/models'
describe('Test config API validators', function () {
const path = '/api/v1/config/custom'
'1440p': false,
'2160p': false
},
+ alwaysTranscodeOriginalResolution: false,
webtorrent: {
enabled: true
},
'1080p': true,
'1440p': true,
'2160p': true
- }
+ },
+ alwaysTranscodeOriginalResolution: false
}
},
videoStudio: {
torrent: {
enabled: false
}
+ },
+ videoChannelSynchronization: {
+ enabled: false,
+ maxPerUser: 10
}
},
trending: {
})
})
- it('Should success with the correct parameters', async function () {
+ it('Should fail with a disabled http upload & enabled sync', async function () {
+ const newUpdateParams: CustomConfig = merge({}, updateParams, {
+ import: {
+ videos: {
+ http: { enabled: false }
+ },
+ videoChannelSynchronization: { enabled: true }
+ }
+ })
+
+ await makePutBodyRequest({
+ url: server.url,
+ path,
+ fields: newUpdateParams,
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should succeed with the correct parameters', async function () {
await makePutBodyRequest({
url: server.url,
path,