Skip to content

Commit

Permalink
test(resourceDirectory): add check for directory/file call order (#420)
Browse files Browse the repository at this point in the history
* build(package): installed jest-extended

* chore(jest.config): update jest config

* build(tsconfig): update tsconfig for jest-extended

* test(resourcedirectory): add test to check call order

* chore(tsconfig): removes file property

* test(resourcedirectoryservice): changed test to be on rename

* chore(resourcedirectoryservice): changed check to be on basedirectoryservice
  • Loading branch information
seaerchin authored Apr 14, 2022
1 parent 6b884b7 commit cf34911
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 6 deletions.
1 change: 1 addition & 0 deletions global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import "jest-extended"
5 changes: 4 additions & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,8 @@ module.exports = {
},
globalSetup: "<rootDir>/tests/setup.ts",
globalTeardown: "<rootDir>/tests/teardown.ts",
setupFilesAfterEnv: ["<rootDir>/tests/closeConnection.ts"],
setupFilesAfterEnv: [
"<rootDir>/tests/closeConnection.ts",
"jest-extended/all",
],
}
10 changes: 10 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"prepare": "husky install",
"version": "auto-changelog -p && git add CHANGELOG.md",
"npm run db:migrate": "source .env && npx sequelize-cli db:migrate",
"jump:staging": "source .ssh/.env.staging && ssh -L 5433:$DB_HOST:5432 $SSH_USER@$SSH_HOST -i .ssh/isomercms-staging-bastion.pem",
"jump:staging": "source .ssh/.env.staging && ssh -L 5433:$DB_HOST:5432 $SSH_USER@$SSH_HOST -i .ssh/isomercms-staging-bastion.pem",
"db:migrate:staging": "npm run jump:staging && npx sequelize-cli db:migrate",
"jump:prod": "source .ssh/.env.prod && ssh -L 5433:$DB_HOST:5432 $SSH_USER@$SSH_HOST -i .ssh/isomercms-production-bastion.pem",
"db:migrate:prod": "npm run jump:prod && npx sequelize-cli db:migrate"
Expand Down Expand Up @@ -93,6 +93,7 @@
"eslint-plugin-prettier": "^3.4.0",
"husky": "^6.0.0",
"jest": "^27.5.1",
"jest-extended": "^2.0.0",
"jest-mock-axios": "^4.5.0",
"lint-staged": "^11.1.2",
"prettier": "2.2.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ describe("Resource Directory Service", () => {
newDirectoryName,
})
).resolves.not.toThrowError()

expect(mockGitHubService.read).toHaveBeenCalledWith(reqDetails, {
fileName: INDEX_FILE_NAME,
directoryName,
Expand All @@ -284,21 +285,27 @@ describe("Resource Directory Service", () => {
fileName: INDEX_FILE_NAME,
directoryName: `${resourceRoomName}/${newDirectoryName}`,
})
expect(mockBaseDirectoryService.rename).toHaveBeenCalledBefore(
mockGitHubService.update
)
})
mockGitHubService.read.mockResolvedValueOnce({
content: mockMarkdownContent,
sha,
})

it("Renaming a resource category slugifies the name correctly", async () => {
mockGitHubService.read.mockResolvedValueOnce({
content: mockMarkdownContent,
sha,
})
const originalResourceCategory = "Test Resource"
const slugifiedResourceCategory = "test-resource"

await expect(
service.renameResourceDirectory(reqDetails, {
resourceRoomName,
resourceCategoryName,
newDirectoryName: originalResourceCategory,
})
).resolves.not.toThrowError()

expect(mockGitHubService.read).toHaveBeenCalledWith(reqDetails, {
fileName: INDEX_FILE_NAME,
directoryName,
Expand All @@ -322,6 +329,9 @@ describe("Resource Directory Service", () => {
fileName: INDEX_FILE_NAME,
directoryName: `${resourceRoomName}/${slugifiedResourceCategory}`,
})
expect(mockBaseDirectoryService.rename).toHaveBeenCalledBefore(
mockGitHubService.update
)
})
})

Expand Down

0 comments on commit cf34911

Please sign in to comment.