Skip to content

Commit e3512c7

Browse files
committed
Make js native tests pass ✔️
1 parent 8d50567 commit e3512c7

8 files changed

Lines changed: 122 additions & 101 deletions

File tree

build/GenerateIndexJs.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ let ARCtrl_generate(rootPath: string) =
9494
"Template"
9595
"Templates"
9696
"Organisation"
97-
"JsWeb"
97+
"WebController"
9898
"ARC"
99+
"JsonController"
99100
|]
100101
generateIndexfile(rootPath, "index.js", whiteList)

src/ARCtrl/Template.Web.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ let getTemplates(url: string option) =
1919
/// This class is used to make async functions more accessible from JavaScript.
2020
/// </summary>
2121
[<AttachMembers>]
22-
type JsWeb =
22+
type WebController =
2323
static member getTemplates(url: string option) =
2424
async {
2525
let! templates = getTemplates(url)

tests/JavaScript/ARCtrl.Index.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { equal, deepEqual } from 'assert';
2-
import { OntologyAnnotation, ArcAssay, ArcInvestigation, ArcTable } from './ARCtrl/index.js'
2+
import { OntologyAnnotation, ArcAssay, ArcInvestigation, ArcTable, JsonController } from './ARCtrl/index.js'
33

44
//import file './ARCtrl/index.js' is generated by FAKE never by NPM.
55
describe('Auto Generated Index', function () {
@@ -17,4 +17,10 @@ describe('Auto Generated Index', function () {
1717
equal(actual.Identifier, "My Investigation", "Id")
1818
equal(actual.Title, "Super Awesome Experiment", "Title")
1919
});
20+
it('JsonController', function () {
21+
let actual = new ArcInvestigation("My Investigation", "Super Awesome Experiment")
22+
let json = JsonController.Investigation.toJsonString(0)(actual)
23+
const expected = '{"Identifier":"My Investigation","Title":"Super Awesome Experiment"}'
24+
equal(json, expected, "json conversion")
25+
});
2026
});

tests/JavaScript/CompositeCell.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { equal, deepEqual, notEqual } from 'assert';
2+
import { CompositeCell } from "./ARCtrl/index.js"
3+
import { OntologyAnnotation } from './ARCtrl/index.js';
4+
import { assertEqual } from './ARCtrl/fable_modules/fable-library-js.4.15.0/Util.js';
5+
6+
describe('CompositeCell', function () {
7+
it('Primary Constructor', function() {
8+
let oa = new OntologyAnnotation("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
9+
let t1 = CompositeCell.term(oa)
10+
let t2 = new CompositeCell(0, [oa])
11+
assertEqual(t1, t2);
12+
});
13+
it('FreeText Helper Member', function () {
14+
let ft = "My FreeTextValue"
15+
let ft1 = CompositeCell.freeText(ft)
16+
let ft2 = new CompositeCell(1, [ft])
17+
assertEqual(ft1, ft2);
18+
});
19+
it('Unitized Helper Members', function () {
20+
let oa = new OntologyAnnotation("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
21+
let v = 5
22+
let u1 = CompositeCell.unitized(5, oa)
23+
let u2 = new CompositeCell(2, [v, oa])
24+
assertEqual(u1, u2);
25+
});
26+
});
Lines changed: 76 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { equal, deepEqual, notEqual } from 'assert';
2-
import { CompositeHeader, IOType } from "./ARCtrl/ISA/ISA/ArcTypes/CompositeHeader.js"
3-
import { OntologyAnnotation } from './ARCtrl/ISA/ISA/JsonTypes/OntologyAnnotation.js';
2+
import { CompositeHeader, IOType } from "./ARCtrl/index.js"
3+
import { OntologyAnnotation } from './ARCtrl/index.js';
44
import { assertEqual } from './ARCtrl/fable_modules/fable-library-js.4.15.0/Util.js';
55

66
function tests_IOType() {
@@ -93,15 +93,15 @@ describe('CompositeHeader', function () {
9393
equal(actual, "My FreeTextValue")
9494
});
9595
it("Term", function () {
96-
let oa = OntologyAnnotation.fromString("My OA Name")
96+
let oa = new OntologyAnnotation("My OA Name")
9797
let header = new CompositeHeader(0, [oa])
9898
let actual = header.toString()
9999
//console.log(CompositeHeader.Cases)
100100
equal(actual, "Component [My OA Name]")
101101
});
102102
it('jsGetColumnMetaType', function () {
103103
let cases = CompositeHeader.Cases
104-
let oa = OntologyAnnotation.fromString("My OA Name")
104+
let oa = new OntologyAnnotation("My OA Name")
105105
let iotype = new IOType(0, [])
106106
let stringExample = "My Example"
107107
for (let mycase of cases) {
@@ -127,65 +127,81 @@ describe('CompositeHeader', function () {
127127
}
128128
}
129129
});
130-
it('Helper Members', function () {
131-
let oa = OntologyAnnotation.fromString("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
132-
let c1 = CompositeHeader.component(oa)
133-
let c2 = new CompositeHeader(0, [oa])
134-
assertEqual(c1, c2);
135-
136-
let ch1 = CompositeHeader.characteristic(oa)
137-
let ch2 = new CompositeHeader(1, [oa])
138-
assertEqual(ch1, ch2);
139-
140-
let f1 = CompositeHeader.factor(oa)
141-
let f2 = new CompositeHeader(2, [oa])
142-
assertEqual(f1, f2);
143-
144-
let p1 = CompositeHeader.parameter(oa)
145-
let p2 = new CompositeHeader(3, [oa])
146-
assertEqual(p1, p2);
147-
148-
let pt1 = CompositeHeader.protocolType()
149-
let pt2 = new CompositeHeader(4, [])
150-
assertEqual(pt1, pt2);
151-
152-
let pd1 = CompositeHeader.protocolDescription()
153-
let pd2 = new CompositeHeader(5, [])
154-
assertEqual(pd1, pd2);
155-
156-
let pu1 = CompositeHeader.protocolUri()
157-
let pu2 = new CompositeHeader(6, [])
158-
assertEqual(pu1, pu2);
159-
160-
let pv1 = CompositeHeader.protocolVersion()
161-
let pv2 = new CompositeHeader(7, [])
162-
assertEqual(pv1, pv2);
163-
164-
let pr1 = CompositeHeader.protocolREF()
165-
let pr2 = new CompositeHeader(8, [])
166-
assertEqual(pr1, pr2);
167-
168-
let pe1 = CompositeHeader.performer()
169-
let pe2 = new CompositeHeader(9, [])
170-
assertEqual(pe1, pe2);
171-
172-
let d1 = CompositeHeader.date()
173-
let d2 = new CompositeHeader(10, [])
174-
assertEqual(d1, d2);
175-
176-
let iotype = IOType.sample()
177-
let i1 = CompositeHeader.input(iotype)
178-
let i2 = new CompositeHeader(11, [iotype])
179-
assertEqual(i1, i2);
180-
181-
let o1 = CompositeHeader.output(iotype)
182-
let o2 = new CompositeHeader(12, [iotype])
183-
assertEqual(o1, o2);
184-
130+
it('Primary Constructor', function () {
131+
let oa = new OntologyAnnotation("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
132+
let c1 = CompositeHeader.component(oa)
133+
let c2 = new CompositeHeader(0, [oa])
134+
assertEqual(c1, c2);
135+
});
136+
it('characteristic - Helper Members', function () {
137+
let oa = new OntologyAnnotation("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
138+
let ch1 = CompositeHeader.characteristic(oa)
139+
let ch2 = new CompositeHeader(1, [oa])
140+
assertEqual(ch1, ch2);
141+
});
142+
it('factor - Helper Members', function () {
143+
let oa = new OntologyAnnotation("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
144+
let f1 = CompositeHeader.factor(oa)
145+
let f2 = new CompositeHeader(2, [oa])
146+
assertEqual(f1, f2);
147+
});
148+
it('parameter - Helper Members', function () {
149+
let oa = new OntologyAnnotation("My OA Name", "NCIT", "http://purl.obolibrary.org/obo/NCIT_C12345")
150+
let p1 = CompositeHeader.parameter(oa)
151+
let p2 = new CompositeHeader(3, [oa])
152+
assertEqual(p1, p2);
153+
});
154+
it('protocolType - Helper Members', function () {
155+
let pt1 = CompositeHeader.protocolType()
156+
let pt2 = new CompositeHeader(4, [])
157+
assertEqual(pt1, pt2);
158+
});
159+
it('protocolDescription - Helper Members', function () {
160+
let pd1 = CompositeHeader.protocolDescription()
161+
let pd2 = new CompositeHeader(5, [])
162+
assertEqual(pd1, pd2);
163+
});
164+
it('protocolUri - Helper Members', function () {
165+
let pu1 = CompositeHeader.protocolUri()
166+
let pu2 = new CompositeHeader(6, [])
167+
assertEqual(pu1, pu2);
168+
});
169+
it('protocolVersion - Helper Members', function () {
170+
let pv1 = CompositeHeader.protocolVersion()
171+
let pv2 = new CompositeHeader(7, [])
172+
assertEqual(pv1, pv2);
173+
});
174+
it('protocolREF - Helper Members', function () {
175+
let pr1 = CompositeHeader.protocolREF()
176+
let pr2 = new CompositeHeader(8, [])
177+
assertEqual(pr1, pr2);
178+
});
179+
it('performer - Helper Members', function () {
180+
let pe1 = CompositeHeader.performer()
181+
let pe2 = new CompositeHeader(9, [])
182+
assertEqual(pe1, pe2);
183+
});
184+
it('date - Helper Members', function () {
185+
let d1 = CompositeHeader.date()
186+
let d2 = new CompositeHeader(10, [])
187+
assertEqual(d1, d2);
188+
});
189+
it('sample - Helper Members', function () {
190+
let iotype = IOType.sample()
191+
let i1 = CompositeHeader.input(iotype)
192+
let i2 = new CompositeHeader(11, [iotype])
193+
assertEqual(i1, i2);
194+
});
195+
it('output - Helper Members', function () {
196+
let iotype = IOType.sample()
197+
let o1 = CompositeHeader.output(iotype)
198+
let o2 = new CompositeHeader(12, [iotype])
199+
assertEqual(o1, o2);
200+
});
201+
it('freeText - Helper Members', function () {
185202
let ft = "My FreeTextValue"
186203
let ft1 = CompositeHeader.freeText(ft)
187204
let ft2 = new CompositeHeader(13, [ft])
188205
assertEqual(ft1, ft2);
189-
190206
});
191207
});

tests/JavaScript/ISA.CompositeCell.js

Lines changed: 0 additions & 27 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
11
import { equal, deepEqual } from 'assert';
2-
import { Person } from "./ARCtrl/ISA/ISA/JsonTypes/Person.js";
3-
import { Comment$ as Comment } from "./ARCtrl/ISA/ISA/JsonTypes/Comment.js";
2+
import { Person, Comment$ as Comment } from "./ARCtrl/index.js";
43

5-
describe('ISA.Person', function () {
4+
describe('Person', function () {
65
describe('copy', function () {
76
it('check mutable', function () {
8-
const person = Person.create(void 0, "0000-0002-1825-0097", "Frey", "Kevin", void 0, "MyAwesomeMail@Awesome.mail");
7+
const person = Person.create("0000-0002-1825-0097", "Frey", "Kevin", void 0, "MyAwesomeMail@Awesome.mail");
98
const copy = person.Copy()
109
equal(person.ORCID, "0000-0002-1825-0097")
1110
equal(copy.ORCID, "0000-0002-1825-0097")
1211
equal(person.FirstName, "Kevin");
1312
equal(copy.FirstName, "Kevin");
14-
person.firstName = "NotKevin"
13+
person.FirstName = "NotKevin"
1514
equal(person.FirstName, "NotKevin");
1615
equal(copy.FirstName, "Kevin");
1716
});
1817
it('check nested mutable', function(){
19-
const comment = Comment.fromString("TestKey", "TestValue")
20-
const person = Person.create(void 0, void 0, "Frey", "Kevin", void 0, "MyAwesomeMail@Awesome.mail", void 0, void 0, void 0, void 0, void 0, [comment]);
18+
const comment = new Comment("TestKey", "TestValue")
19+
const person = Person.create(void 0, "Frey", "Kevin", void 0, "MyAwesomeMail@Awesome.mail", void 0, void 0, void 0, void 0, void 0, [comment]);
2120
const copy = person.Copy()
2221
equal(person.Comments.length,1)
2322
deepEqual(person.Comments,copy.Comments, "Should be same")
2423
person.Comments[0].Name = "NewTestName"
25-
let expectedComment = Comment.fromString("NewTestName", "TestValue")
24+
let expectedComment = new Comment("NewTestName", "TestValue")
2625
deepEqual(person.Comments[0], expectedComment,"Should be new comment")
27-
deepEqual(copy.Comments[0], Comment.fromString("TestKey", "TestValue"), "should be original comment")
26+
deepEqual(copy.Comments[0], new Comment("TestKey", "TestValue"), "should be original comment")
2827
})
2928
});
3029
});

tests/JavaScript/Template.Web.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { equal, deepEqual } from 'assert';
2-
import { JsWeb } from "./ARCtrl/Templates/Template.Web.js";
2+
import { WebController } from "./ARCtrl/index.js";
33

44
describe.skip('Template.Web', function () {
55
it('getTemplates', async () => {
6-
let templates = await JsWeb.getTemplates()
6+
let templates = await WebController.getTemplates()
77
let exists = templates.length >= 0
88
deepEqual(exists, true, "If true templates were found and downloaded")
99
})

0 commit comments

Comments
 (0)