diff --git a/ghost/core/test/e2e-api/admin/__snapshots__/members-exporter.test.js.snap b/ghost/core/test/e2e-api/admin/__snapshots__/members-exporter.test.js.snap index 7b589df10e..25e7262a36 100644 --- a/ghost/core/test/e2e-api/admin/__snapshots__/members-exporter.test.js.snap +++ b/ghost/core/test/e2e-api/admin/__snapshots__/members-exporter.test.js.snap @@ -5,7 +5,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -18,7 +18,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -31,7 +31,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -44,7 +44,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -57,7 +57,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -70,7 +70,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -83,7 +83,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -96,7 +96,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -109,7 +109,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -122,7 +122,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -135,7 +135,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -148,7 +148,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -161,7 +161,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -174,7 +174,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -187,7 +187,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -200,7 +200,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -213,7 +213,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -226,7 +226,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -239,7 +239,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -252,7 +252,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -265,7 +265,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -278,7 +278,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", diff --git a/ghost/core/test/e2e-api/admin/__snapshots__/members.test.js.snap b/ghost/core/test/e2e-api/admin/__snapshots__/members.test.js.snap index 911073f6cf..04e54e6660 100644 --- a/ghost/core/test/e2e-api/admin/__snapshots__/members.test.js.snap +++ b/ghost/core/test/e2e-api/admin/__snapshots__/members.test.js.snap @@ -2106,7 +2106,7 @@ Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "content-disposition": Any, - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "text/csv; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -3171,7 +3171,7 @@ exports[`Members API Can order by email_open_rate 2: [headers] 1`] = ` Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "application/json; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", @@ -3368,7 +3368,7 @@ exports[`Members API Can order by email_open_rate 4: [headers] 1`] = ` Object { "access-control-allow-origin": "http://127.0.0.1:2369", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", - "content-length": Any, + "content-length": StringMatching /\\\\d\\+/, "content-type": "application/json; charset=utf-8", "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "vary": "Accept-Version, Origin, Accept-Encoding", diff --git a/ghost/core/test/e2e-api/admin/explore.test.js b/ghost/core/test/e2e-api/admin/explore.test.js index 8fbdb3ccc5..b875556246 100644 --- a/ghost/core/test/e2e-api/admin/explore.test.js +++ b/ghost/core/test/e2e-api/admin/explore.test.js @@ -1,5 +1,5 @@ const {agentProvider, fixtureManager, matchers} = require('../../utils/e2e-framework'); -const {anyEtag, anyISODate, anyISODateTime, anyStringNumber, stringMatching, anyNumber} = matchers; +const {anyEtag, anyISODate, anyISODateTime, anyContentLength, stringMatching, anyNumber} = matchers; describe('Explore API', function () { let agent; @@ -33,7 +33,7 @@ describe('Explore API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }); }); }); diff --git a/ghost/core/test/e2e-api/admin/members-exporter.test.js b/ghost/core/test/e2e-api/admin/members-exporter.test.js index 5246cbf1e9..ecd112d04c 100644 --- a/ghost/core/test/e2e-api/admin/members-exporter.test.js +++ b/ghost/core/test/e2e-api/admin/members-exporter.test.js @@ -1,5 +1,5 @@ const {agentProvider, mockManager, fixtureManager, matchers} = require('../../utils/e2e-framework'); -const {anyEtag, anyString} = matchers; +const {anyEtag, anyString, anyContentLength} = matchers; const uuid = require('uuid'); const should = require('should'); @@ -47,7 +47,7 @@ async function testOutput(member, asserts, filters = []) { .expectEmptyBody() .matchHeaderSnapshot({ etag: anyEtag, - 'content-length': anyString, + 'content-length': anyContentLength, 'content-disposition': anyString }); diff --git a/ghost/core/test/e2e-api/admin/members.test.js b/ghost/core/test/e2e-api/admin/members.test.js index 0a52cdca31..2fe545337d 100644 --- a/ghost/core/test/e2e-api/admin/members.test.js +++ b/ghost/core/test/e2e-api/admin/members.test.js @@ -1,5 +1,5 @@ const {agentProvider, mockManager, fixtureManager, matchers} = require('../../utils/e2e-framework'); -const {anyEtag, anyObjectId, anyUuid, anyISODateTime, anyISODate, anyString, anyArray, anyLocationFor, anyErrorId, anyObject} = matchers; +const {anyEtag, anyObjectId, anyUuid, anyISODateTime, anyISODate, anyString, anyArray, anyLocationFor, anyContentLength, anyErrorId, anyObject} = matchers; const ObjectId = require('bson-objectid'); const assert = require('assert'); @@ -555,7 +555,7 @@ describe('Members API', function () { .expectStatus(200) .matchHeaderSnapshot({ etag: anyEtag, - 'content-length': anyString + 'content-length': anyContentLength }) .matchBodySnapshot({ members: new Array(8).fill(memberMatcherShallowIncludes) @@ -570,7 +570,7 @@ describe('Members API', function () { .expectStatus(200) .matchHeaderSnapshot({ etag: anyEtag, - 'content-length': anyString + 'content-length': anyContentLength }) .matchBodySnapshot({ members: new Array(8).fill(memberMatcherShallowIncludes) @@ -2016,7 +2016,7 @@ describe('Members API', function () { .expectEmptyBody() // express-test body parsing doesn't support CSV .matchHeaderSnapshot({ etag: anyEtag, - 'content-length': anyString, //For some reason the content-length changes between 1220 and 1317 + 'content-length': anyContentLength, 'content-disposition': anyString }); diff --git a/ghost/core/test/e2e-api/admin/settings.test.js b/ghost/core/test/e2e-api/admin/settings.test.js index 05f113c081..a69e12dfa9 100644 --- a/ghost/core/test/e2e-api/admin/settings.test.js +++ b/ghost/core/test/e2e-api/admin/settings.test.js @@ -3,7 +3,7 @@ const SingleUseTokenProvider = require('../../../core/server/services/members/Si const settingsService = require('../../../core/server/services/settings/settings-service'); const settingsCache = require('../../../core/shared/settings-cache'); const {agentProvider, fixtureManager, mockManager, matchers} = require('../../utils/e2e-framework'); -const {stringMatching, anyEtag, anyUuid, anyStringNumber} = matchers; +const {stringMatching, anyEtag, anyUuid, anyContentLength} = matchers; const models = require('../../../core/server/models'); const {anyErrorId} = matchers; @@ -65,7 +65,7 @@ describe('Settings API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }); }); @@ -201,7 +201,7 @@ describe('Settings API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }); // Check returned WITH prefix @@ -228,7 +228,7 @@ describe('Settings API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }) .expect(({body}) => { const emailVerificationRequired = body.settings.find(setting => setting.key === 'email_verification_required'); @@ -249,7 +249,7 @@ describe('Settings API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }) .expect(({body}) => { const membersSupportAddress = body.settings.find(setting => setting.key === 'members_support_address'); @@ -284,7 +284,7 @@ describe('Settings API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }) .expect(({body}) => { const membersSupportAddress = body.settings.find(setting => setting.key === 'members_support_address'); @@ -311,7 +311,7 @@ describe('Settings API', function () { .matchHeaderSnapshot({ etag: anyEtag, // Special rule for this test, as the labs setting changes a lot - 'content-length': anyStringNumber + 'content-length': anyContentLength }) .expect(({body}) => { const membersSupportAddress = body.settings.find(setting => setting.key === 'members_support_address');