Skip to content

Commit

Permalink
test: use mocha-chai-rdf
Browse files Browse the repository at this point in the history
  • Loading branch information
giacomociti committed Oct 30, 2024
1 parent 06a4eec commit 57de370
Show file tree
Hide file tree
Showing 6 changed files with 764 additions and 21 deletions.
4 changes: 2 additions & 2 deletions apis/core/test/ResourceStore.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ describe('ResourceStore', () => {
const actual = await store.get(ex.Foo)

// then
expect(actual).to.eq(expected)
expect(actual.term).to.eq(expected.term)
})

it('returns object previously created', async () => {
Expand All @@ -77,7 +77,7 @@ describe('ResourceStore', () => {
const actual = await store.get(ex.Foo)

// then
expect(actual).to.eq(expected)
expect(actual.term).to.eq(expected.term)
expect(client.query.construct).to.not.have.been.called
})

Expand Down
12 changes: 10 additions & 2 deletions mocha-setup.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,30 @@
/* eslint-disable import/no-unresolved */
/* eslint-disable import/no-extraneous-dependencies */
/* eslint-disable @typescript-eslint/no-var-requires */
require('@babel/register')({
configFile: './babel.config.json',
extensions: ['.js', '.jsx', '.ts', '.tsx'],
})

require('dotenv').config({
path: require('path').resolve(__dirname, '.local.env')
path: require('path').resolve(__dirname, '.local.env'),
})

require('chai-snapshot-matcher')
const chai = require('chai')
const sinonChai = require('sinon-chai')
const quantifiers = require('chai-quantifiers')

var chaiAsPromised = require('chai-as-promised')
const chaiAsPromised = require('chai-as-promised')
chai.use(chaiAsPromised)
chai.use(quantifiers)

require('./packages/testing/lib/chaiShapeMatcher')

chai.use(sinonChai)

// Dynamically import mocha-chai-rdf
;(async () => {
const rdfMatchers = await import('mocha-chai-rdf/matchers.js')
chai.use(rdfMatchers.default)
})()
7 changes: 4 additions & 3 deletions packages/model/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@
"dependencies": {
"@cube-creator/core": "1.0.0",
"@rdf-esm/data-model": "^0.5.3",
"@rdfjs/types": "^1.1.0",
"@rdfine/csvw": "^0.6.3",
"@rdfine/hydra": "^0.8.0",
"@rdfine/rdfs": "^0.6.3",
"@rdfine/schema": "^0.6.3",
"@rdfine/shacl": "^0.8.5",
"@rdfjs/types": "^1.1.0",
"@tpluscode/rdf-ns-builders": "^1.0.0",
"@tpluscode/rdfine": "^0.5.19",
"rdf-validate-datatype": "^0.1.3",
"is-uri": "^1.2.0",
"rdf-validate-datatype": "^0.1.3",
"uri-template": "^1.0.1"
},
"devDependencies": {
Expand All @@ -24,6 +24,7 @@
"@types/rdf-validate-datatype": "^0.1",
"alcaeus": "^2",
"chai": "^4.3.4",
"mocha": "^10"
"mocha": "^10",
"mocha-chai-rdf": "^0.1.4"
}
}
16 changes: 8 additions & 8 deletions packages/model/test/DatatypeChecker.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ const datatypeChecker = new DatatypeChecker()

describe('@cube-creator/model/DatatypeChecker', () => {
it('recognize datatype', () => {
expect(datatypeChecker.determineDatatype(['42']).equals(xsd.integer)).to.be.true
expect(datatypeChecker.determineDatatype(['42', '42']).equals(xsd.integer)).to.be.true
expect(datatypeChecker.determineDatatype(['42', '42.1']).equals(xsd.decimal)).to.be.true
expect(datatypeChecker.determineDatatype(['42', 'foo']).equals(xsd.string)).to.be.true
expect(datatypeChecker.determineDatatype(['2021-01-01', '2021-01-01']).equals(xsd.date)).to.be.true
expect(datatypeChecker.determineDatatype(['42'])).to.eq(xsd.integer)
expect(datatypeChecker.determineDatatype(['42', '42'])).to.eq(xsd.integer)
expect(datatypeChecker.determineDatatype(['42', '42.1'])).to.eq(xsd.decimal)
expect(datatypeChecker.determineDatatype(['42', 'foo'])).to.eq(xsd.string)
expect(datatypeChecker.determineDatatype(['2021-01-01', '2021-01-01'])).to.eq(xsd.date)
})
it('recognize xsd:string with empty array', () => {
expect(datatypeChecker.determineDatatype([]).equals(xsd.string)).to.be.true
expect(datatypeChecker.determineDatatype([])).to.eq(xsd.string)
})
it('recognize xsd:string with empty string', () => {
expect(datatypeChecker.determineDatatype(['']).equals(xsd.string)).to.be.true
expect(datatypeChecker.determineDatatype([''])).to.eq(xsd.string)
})
it('recognize xd:integer ignoring empty strings', () => {
expect(datatypeChecker.determineDatatype(['', '42', '']).equals(xsd.integer)).to.be.true
expect(datatypeChecker.determineDatatype(['', '42', ''])).to.eq(xsd.integer)
})
})
3 changes: 2 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"include": [
"packages",
"apis",
"cli"
"cli",
"mocha-setup.js"
],
"exclude": [
"node_modules"
Expand Down
Loading

0 comments on commit 57de370

Please sign in to comment.