Skip to content

Commit

Permalink
imrove test
Browse files Browse the repository at this point in the history
  • Loading branch information
giacomociti committed Apr 11, 2024
1 parent acc80f4 commit 5257789
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .changeset/angry-goats-pump.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"rdf-validate-shacl": patch
---

fix #125 (phantom result details)
19 changes: 16 additions & 3 deletions test/validation_repro.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,34 @@
import path from 'path'
import assert from 'assert'
import * as url from 'url'
import RDF from '@zazuko/env-node'
import SHACLValidator from '../index.js'
import { loadDataset } from './utils.js'

const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
const rootPath = path.join(__dirname, '/data/validation-repro')

describe('validation repro', () => {
it('repro #125', async () => {
it.only('repro #125', async () => {
const data = await loadDataset(path.join(rootPath, 'repro125-data.ttl'))
const shapes = await loadDataset(path.join(rootPath, 'repro125-shapes.ttl'))
const shapes = await loadDataset(path.join(rootPath, 'repro125-shapes.ttl'))

const validator = new SHACLValidator(shapes)
const report = validator.validate(data)

assert.equal(1, report.results.length)
assert.equal(1, report.results[0].detail.length)
const result = report.results[0]
assert.deepStrictEqual(result.sourceConstraintComponent, RDF.ns.sh.NodeConstraintComponent)
assert.deepStrictEqual(result.focusNode, RDF.namedNode('https://example.org/person1'))
assert.deepStrictEqual(result.path, RDF.namedNode('https://example.org/address'))
assert.deepStrictEqual(result.value, RDF.namedNode('https://example.org/address1'))
assert.deepStrictEqual(result.message, [RDF.literal('ex:city should be sh:IRI')])

assert.equal(1, result.detail.length)
const detail = result.detail[0]
assert.deepStrictEqual(detail.sourceConstraintComponent, RDF.ns.sh.NodeKindConstraintComponent)
assert.deepStrictEqual(detail.focusNode, RDF.namedNode('https://example.org/address1'))
assert.deepStrictEqual(detail.path, RDF.namedNode('https://example.org/city'))
assert.deepStrictEqual(detail.value, RDF.literal('London'))
})
})

0 comments on commit 5257789

Please sign in to comment.