Skip to content

Commit 3a1e5b1

Browse files
chore: fix docs build [] (#2845)
* chore: install json globally so it can be ran by docs package * chore: add test branch to docs build * chore: update contentful-sdk-jsdoc * chore: remove test branch from publish * chore: remove test branch from release config * chore: better tests happy ely * chore: fix lint --------- Co-authored-by: Ely Lucas <[email protected]>
1 parent db8c8e3 commit 3a1e5b1

File tree

6 files changed

+89
-57
lines changed

6 files changed

+89
-57
lines changed

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7373

7474
- name: Publish Docs
75-
if: github.ref == 'refs/heads/master'
75+
if: github.event_name == 'push' && contains(fromJSON('["refs/heads/master"]'), github.ref)
7676
run: |
7777
echo "Publishing Documentation"
7878
npm run docs:publish

.husky/pre-commit

100644100755
File mode changed.

package-lock.json

Lines changed: 21 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
"babel-loader": "^8.2.1",
9090
"babel-plugin-inline-replace-variables": "^1.3.1",
9191
"babel-plugin-lodash": "^3.3.4",
92-
"contentful-sdk-jsdoc": "3.1.0",
92+
"contentful-sdk-jsdoc": "^3.1.5",
9393
"cz-conventional-changelog": "^3.3.0",
9494
"eslint": "^9.15.0",
9595
"express": "^4.21.1",
@@ -121,7 +121,7 @@
121121
}
122122
},
123123
"lint-staged": {
124-
"./{lib,test}/*.{js,ts}": [
124+
"./{lib,test}/**/*.{js,ts}": [
125125
"prettier --write",
126126
"eslint --fix"
127127
],
@@ -184,4 +184,4 @@
184184
"limit": "88 kB"
185185
}
186186
]
187-
}
187+
}

test/integration/environment-template-integration.test.ts

Lines changed: 60 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { afterAll, beforeAll, describe, it, afterEach, expect } from 'vitest'
1+
import { afterAll, beforeAll, describe, it, expect } from 'vitest'
22
import type { ClientAPI } from '../../lib/create-contentful-api'
33
import {
44
defaultClient,
@@ -8,6 +8,7 @@ import {
88
generateRandomId,
99
baseEnvironmentTemplateDescription,
1010
timeoutToCalmRateLimiting,
11+
waitForEnvironmentToBeReady,
1112
} from '../helpers'
1213
import type {
1314
CreateEnvironmentTemplateProps,
@@ -20,29 +21,42 @@ import type {
2021
type InstallTemplate = (versionsCount?: number) => Promise<EnvironmentTemplateInstallationProps>
2122

2223
describe('Environment template API', () => {
24+
const templateDescription = `${baseEnvironmentTemplateDescription} ${generateRandomId()}`
2325
const client = defaultClient
2426
const orgId = getTestOrganizationId()
25-
const templateDescription = `${baseEnvironmentTemplateDescription} ${generateRandomId()}`
2627

27-
afterAll(timeoutToCalmRateLimiting)
28+
describe('Environment template', () => {
29+
let createdTemplate: EnvironmentTemplate
30+
let draftTemplate: CreateEnvironmentTemplateProps
31+
32+
async function setupEnvironmentTemplate(deleteTemplateBeforeSetup: boolean = false) {
33+
if (createdTemplate && deleteTemplateBeforeSetup) {
34+
await createdTemplate.delete()
35+
}
36+
draftTemplate = createDraftTemplate()
37+
createdTemplate = await client.createEnvironmentTemplate(orgId, draftTemplate)
38+
}
2839

29-
afterEach(async () => {
30-
await clearEnvironmentTemplates(client, orgId, templateDescription)
31-
})
40+
beforeAll(async () => {
41+
await setupEnvironmentTemplate()
42+
})
43+
44+
afterAll(() => {
45+
// Cleanup
46+
createdTemplate.delete()
47+
timeoutToCalmRateLimiting()
48+
})
3249

33-
describe('Environment template', () => {
3450
it('creates an environment template', async () => {
35-
const draftTemplate = createDraftTemplate()
36-
const { sys, ...template } = await client.createEnvironmentTemplate(orgId, draftTemplate)
51+
const { sys, ...template } = createdTemplate
3752
expect(template).toEqual(draftTemplate)
3853
expect(sys).toBeDefined()
3954
})
4055

4156
it('gets an environment template', async () => {
42-
const draftTemplate = createDraftTemplate()
4357
const {
4458
sys: { id: templateId },
45-
} = await client.createEnvironmentTemplate(orgId, draftTemplate)
59+
} = createdTemplate
4660

4761
const { sys, ...template } = await client.getEnvironmentTemplate({
4862
organizationId: orgId,
@@ -54,10 +68,9 @@ describe('Environment template API', () => {
5468
})
5569

5670
it('gets an environment template with select filter applied', async () => {
57-
const draftTemplate = createDraftTemplate()
5871
const {
5972
sys: { id: templateId },
60-
} = await client.createEnvironmentTemplate(orgId, draftTemplate)
73+
} = createdTemplate
6174

6275
const response = await client.getEnvironmentTemplate({
6376
organizationId: orgId,
@@ -71,42 +84,41 @@ describe('Environment template API', () => {
7184
})
7285

7386
it('gets a collection of environment templates', async () => {
74-
const draftTemplate = createDraftTemplate()
75-
await client.createEnvironmentTemplate(orgId, draftTemplate)
7687
const { items: templates } = await client.getEnvironmentTemplates(orgId)
7788

78-
expect(
79-
templates.filter(({ description }) => description === templateDescription),
80-
).toHaveLength(1)
89+
const fetchedTemplate = templates.find(({ sys: { id } }) => id === createdTemplate.sys.id)
90+
91+
expect(fetchedTemplate).toBeDefined()
92+
93+
const { sys, ...template } = fetchedTemplate!
8194

82-
const [{ sys, ...template }] = templates
8395
expect(template).toEqual(draftTemplate)
8496
expect(sys).toBeDefined()
8597
})
8698

8799
it('gets a collection of environment templates with select filter applied', async () => {
88-
const draftTemplate = createDraftTemplate()
89-
await client.createEnvironmentTemplate(orgId, draftTemplate)
90100
const { items: templates } = await client.getEnvironmentTemplates(orgId, {
91-
select: 'description',
101+
select: 'sys,description',
92102
})
93103

94-
expect(
95-
templates.filter(({ description }) => description === templateDescription),
96-
).toHaveLength(1)
104+
const fetchedTemplate = templates.find(({ sys: { id } }) => id === createdTemplate.sys.id)
105+
106+
expect(fetchedTemplate).toBeDefined()
97107

98-
const [firstTemplate] = templates
99-
expect(firstTemplate).toEqual({ description: templateDescription })
108+
const { sys, ...template } = fetchedTemplate!
109+
110+
expect(template).toEqual({ description: templateDescription })
111+
expect(sys).toBeDefined()
100112
})
101113

102114
it('gets a collection of environment templates with forTemplatedSpaces filter applied', async () => {
103-
const draftTemplate = createDraftTemplate()
104-
await client.createEnvironmentTemplate(orgId, draftTemplate)
105115
const { items: templates } = await client.getEnvironmentTemplates(orgId, {
106116
forTemplatedSpaces: true,
107117
})
108118

109-
expect(templates).toHaveLength(0)
119+
const fetchedTemplate = templates.find(({ sys: { id } }) => id === createdTemplate.sys.id)
120+
121+
expect(fetchedTemplate).toBeUndefined()
110122
})
111123

112124
it('updates an environment template', async () => {
@@ -127,40 +139,36 @@ describe('Environment template API', () => {
127139
})
128140

129141
it('updates the version description and name of an environment template', async () => {
130-
const draftTemplate = createDraftTemplate()
131-
const template = await client.createEnvironmentTemplate(orgId, draftTemplate)
132-
133142
const updatedVersionName = 'Updated version name'
134143
const updatedVersionDescription = 'Updated version description'
135-
const updatedTemplateVersion = await template.updateVersion({
144+
const updatedTemplateVersion = await createdTemplate.updateVersion({
136145
versionName: updatedVersionName,
137146
versionDescription: updatedVersionDescription,
138147
})
139148

140-
expect(updatedTemplateVersion.sys.version).toBe(template.sys.version)
149+
expect(updatedTemplateVersion.sys.version).toBe(createdTemplate.sys.version)
141150
expect(updatedTemplateVersion.versionName).toBe(updatedVersionName)
142151
expect(updatedTemplateVersion.versionDescription).toBe(updatedVersionDescription)
143152
})
144153

145154
it('gets a version of an environment template', async () => {
146-
const draftTemplate = createDraftTemplate()
147-
const template = await client.createEnvironmentTemplate(orgId, draftTemplate)
148-
template.name = 'Updated name'
149-
await template.update()
155+
createdTemplate.name = 'Updated name'
156+
await createdTemplate.update()
150157

151158
const secondTemplateVersion = await client.getEnvironmentTemplate({
152159
version: 2,
153160
organizationId: orgId,
154-
environmentTemplateId: template.sys.id,
161+
environmentTemplateId: createdTemplate.sys.id,
155162
})
156163

157164
expect(secondTemplateVersion.sys.version).toBe(2)
158165
})
159166

160167
it('deletes an environment template', async () => {
161-
const draftTemplate = createDraftTemplate()
162-
const template = await client.createEnvironmentTemplate(orgId, draftTemplate)
163-
await expect(template.delete()).resolves.not.toThrow()
168+
await expect(createdTemplate.delete()).resolves.not.toThrow()
169+
170+
// deleted the template so reset it
171+
await setupEnvironmentTemplate(false)
164172
})
165173
})
166174

@@ -170,8 +178,9 @@ describe('Environment template API', () => {
170178
let installTemplate: InstallTemplate
171179

172180
beforeAll(async () => {
173-
space = (await createTestSpace(client, 'EnvironmentTemplate')) as Space
174-
environment = (await createTestEnvironment(space, generateRandomId('env'))) as Environment
181+
space = await createTestSpace(client, 'EnvironmentTemplate')
182+
environment = await createTestEnvironment(space, generateRandomId('env'))
183+
await waitForEnvironmentToBeReady(space, environment)
175184

176185
await enableSpace(client, space)
177186
installTemplate = createInstallTemplate({
@@ -186,6 +195,7 @@ describe('Environment template API', () => {
186195
afterAll(async () => {
187196
await environment?.delete()
188197
await space?.delete()
198+
await clearEnvironmentTemplates(client, orgId, templateDescription)
189199
})
190200

191201
it('installs an environment template', async () => {
@@ -373,5 +383,9 @@ async function clearEnvironmentTemplates(
373383
return description === templateDescription
374384
}
375385

376-
await Promise.all(templates.filter(filterByDescription).map((template) => template.delete()))
386+
const templatesToBeDeleted = templates.filter(filterByDescription)
387+
388+
for (const template of templatesToBeDeleted) {
389+
await template.delete()
390+
}
377391
}

test/integration/workflow-integration.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
createTestSpace,
66
initPlainClient,
77
timeoutToCalmRateLimiting,
8+
waitForEnvironmentToBeReady,
89
} from '../helpers'
910
import type {
1011
ContentType,
@@ -28,8 +29,9 @@ describe('Workflow Api', () => {
2829

2930
beforeAll(async () => {
3031
plainClient = initPlainClient()
31-
space = (await createTestSpace(defaultClient, 'Comment')) as Space
32-
environment = (await createTestEnvironment(space, 'test')) as unknown as Environment
32+
space = await createTestSpace(defaultClient, 'Comment')
33+
environment = await createTestEnvironment(space, 'test')
34+
await waitForEnvironmentToBeReady(space, environment)
3335
environmentId = environment.sys.id
3436
spaceId = space.sys.id
3537
contentType = await environment.createContentType({

0 commit comments

Comments
 (0)