Skip to content

Commit

Permalink
chore: add and configure unit tets
Browse files Browse the repository at this point in the history
  • Loading branch information
kabaros committed Sep 12, 2023
1 parent 08b0f31 commit aed4e98
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 1 deletion.
24 changes: 23 additions & 1 deletion .github/workflows/dhis2-verify-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,31 @@ jobs:
- name: Lint
run: yarn lint

test:
runs-on: ubuntu-latest
needs: lint
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12.x

- uses: actions/cache@v2
id: yarn-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}

- name: Test
run: yarn d2-app-scripts test --coverage

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1

publish:
runs-on: ubuntu-latest
needs: [build, lint]
needs: [build, lint, test]
if: "!contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
Expand Down
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,10 @@
},
"resolutions": {
"@dhis2/ui": "^8.12.2"
},
"jest": {
"collectCoverageFrom": [
"src/**/*.js"
]
}
}
59 changes: 59 additions & 0 deletions src/components/DownloadAs/use-hrefs.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import useHrefs from './use-hrefs.js'

jest.mock('@dhis2/app-runtime', () => ({
useConfig: () => ({
baseUrl: 'https://debug.dhis2.org/dev',
apiVersion: '41',
}),
}))

describe('use-hrefs', () => {
const mockDate = 1694516945008

beforeEach(() => {
jest.spyOn(Date, 'now').mockReturnValueOnce(mockDate)
})

it('should generate correct urls', () => {
const result = useHrefs({
endpoint: '/dataAnalysis/validationRules/report',
fileTypes: ['pdf', 'xls', 'csv'],
queryStr: undefined,
})
expect(result.csv).toMatch(
`https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.csv?t=${mockDate}`
)
expect(result.pdf).toEqual(
`https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.pdf?t=${mockDate}`
)
expect(result.xls).toEqual(
`https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.xls?t=${mockDate}`
)
})
it('should generate correct urls even if endpoint does not start with slash', () => {
const result = useHrefs({
endpoint: 'dataAnalysis/validationRules/report',
fileTypes: ['pdf', 'xls', 'csv'],
queryStr: undefined,
})
expect(result.csv).toMatch(
`https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.csv?t=${mockDate}`
)
expect(result.pdf).toEqual(
`https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.pdf?t=${mockDate}`
)
expect(result.xls).toEqual(
`https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.xls?t=${mockDate}`
)
})
it('should generate correct urls even when passed query string', () => {
const result = useHrefs({
endpoint: 'dataAnalysis/validationRules/report',
fileTypes: ['pdf', 'xls', 'csv'],
queryStr: 'locale=fr',
})
expect(result.csv).toMatch(
'https://debug.dhis2.org/dev/api/41/dataAnalysis/validationRules/report.csv?locale=fr'
)
})
})

0 comments on commit aed4e98

Please sign in to comment.