Skip to content
This repository was archived by the owner on Dec 9, 2023. It is now read-only.

Commit bd91424

Browse files
committed
create 3 posts and compute objective assessments for each
1 parent e94f0b5 commit bd91424

File tree

1 file changed

+154
-41
lines changed

1 file changed

+154
-41
lines changed

src/sensemaker_dna/sensemaker/neighbourhood.ts

Lines changed: 154 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const setUpAliceandBob = async (s) => {
2525

2626

2727
export default () => {
28+
/*
2829
test("SM entry type CRUD tests", async (t) => {
2930
await runScenario(async scenario => {
3031
@@ -505,6 +506,7 @@ export default () => {
505506
await cleanAllConductors();
506507
})
507508
})
509+
*/
508510
test("test context result creation", async (t) => {
509511
await runScenario(async scenario => {
510512

@@ -537,8 +539,8 @@ export default () => {
537539

538540
// create an entry type in the provider DNA
539541
const createPost = {
540-
"title": "Intro",
541-
"content": "anger!!"
542+
"title": "post 1",
543+
"content": "hey!"
542544
};
543545
const createPostEntryHash: EntryHash = await callZomeAlice(
544546
"test_provider",
@@ -547,6 +549,27 @@ export default () => {
547549
);
548550
t.ok(createPostEntryHash);
549551

552+
const createPost2 = {
553+
"title": "post 2",
554+
"content": "bye!"
555+
};
556+
const createPostEntryHash2: EntryHash = await callZomeAlice(
557+
"test_provider",
558+
"create_post",
559+
createPost2,
560+
);
561+
t.ok(createPostEntryHash2);
562+
563+
const createPost3 = {
564+
"title": "post 3",
565+
"content": "I'm back!"
566+
};
567+
const createPostEntryHash3: EntryHash = await callZomeAlice(
568+
"test_provider",
569+
"create_post",
570+
createPost3,
571+
);
572+
t.ok(createPostEntryHash3);
550573
await pause(500);
551574

552575
// Bob gets the created post
@@ -555,7 +578,6 @@ export default () => {
555578
"get_post",
556579
createPostEntryHash
557580
);
558-
console.log(readPostOutput);
559581
t.deepEqual(createPost, decode((readPostOutput.entry as any).Present.entry) as any);
560582

561583
// create range for dimension
@@ -571,11 +593,6 @@ export default () => {
571593
"range": integerRange,
572594
}
573595

574-
const createDimension2 = {
575-
"name": "quality",
576-
"range": integerRange,
577-
}
578-
579596
// Alice creates a dimension
580597
const createDimensionEntryHash: EntryHash = await callZomeAlice(
581598
"sensemaker",
@@ -585,13 +602,6 @@ export default () => {
585602
)
586603
t.ok(createDimensionEntryHash);
587604

588-
const createDimensionEntryHash2: EntryHash = await callZomeAlice(
589-
"sensemaker",
590-
"create_dimension",
591-
createDimension2,
592-
true
593-
);
594-
t.ok(createDimensionEntryHash2);
595605
// Wait for the created entry to be propagated to the other node.
596606
await pause(100);
597607

@@ -605,16 +615,6 @@ export default () => {
605615
);
606616
t.deepEqual(createDimension, decode((createReadOutput.entry as any).Present.entry) as any);
607617

608-
// get all dimensions
609-
const getDimensionsOutput: Record[] = await callZomeBob(
610-
"sensemaker",
611-
"get_dimensions",
612-
null,
613-
true
614-
);
615-
t.equal(getDimensionsOutput.length, 2)
616-
617-
618618
const createResourceType = {
619619
"name": "angryPost",
620620
//@ts-ignore
@@ -645,51 +645,110 @@ export default () => {
645645
t.deepEqual(createResourceType, decode((createResourceTypeReadOutput.entry as any).Present.entry) as any);
646646

647647
// create an assessment on the Post
648-
const createAssessment = {
649-
"value": { "Integer": 2 },
648+
const createP1Assessment = {
649+
"value": { "Integer": 4 },
650650
"dimension_eh": createDimensionEntryHash,
651651
"subject_eh": createPostEntryHash,
652652
"maybe_input_dataset": null,
653653
}
654654

655-
const createAssessmentEntryHash: EntryHash = await callZomeAlice(
655+
const createP1AssessmentEntryHash: EntryHash = await callZomeAlice(
656656
"sensemaker",
657657
"create_assessment",
658-
createAssessment,
658+
createP1Assessment,
659659
true
660660
);
661-
t.ok(createAssessmentEntryHash);
661+
t.ok(createP1AssessmentEntryHash);
662662

663663
// Wait for the created entry to be propagated to the other node.
664664
await pause(100);
665665

666666
// create a second assessment on the Post
667-
const createAssessment2 = {
667+
const createP1Assessment2 = {
668668
"value": { "Integer": 4 },
669669
"dimension_eh": createDimensionEntryHash,
670670
"subject_eh": createPostEntryHash,
671671
"maybe_input_dataset": null,
672672
}
673673

674-
const createAssessmentEntryHash2: EntryHash = await callZomeAlice(
674+
const createP1AssessmentEntryHash2: EntryHash = await callZomeAlice(
675675
"sensemaker",
676676
"create_assessment",
677-
createAssessment2,
677+
createP1Assessment2,
678678
true
679679
);
680-
t.ok(createAssessmentEntryHash2);
680+
t.ok(createP1AssessmentEntryHash2);
681+
682+
683+
const createP2Assessment = {
684+
"value": { "Integer": 3 },
685+
"dimension_eh": createDimensionEntryHash,
686+
"subject_eh": createPostEntryHash2,
687+
"maybe_input_dataset": null,
688+
}
689+
690+
const createP2AssessmentEntryHash: EntryHash = await callZomeAlice(
691+
"sensemaker",
692+
"create_assessment",
693+
createP2Assessment,
694+
true
695+
);
696+
t.ok(createP2AssessmentEntryHash);
697+
698+
// create an assessment on the Post
699+
const createP2Assessment2 = {
700+
"value": { "Integer": 3 },
701+
"dimension_eh": createDimensionEntryHash,
702+
"subject_eh": createPostEntryHash2,
703+
"maybe_input_dataset": null,
704+
}
705+
706+
const createP2AssessmentEntryHash2: EntryHash = await callZomeAlice(
707+
"sensemaker",
708+
"create_assessment",
709+
createP2Assessment2,
710+
true
711+
);
712+
t.ok(createP2AssessmentEntryHash2);
681713

682714
// Wait for the created entry to be propagated to the other node.
683715
await pause(100);
684716

685-
// Bob gets the created assessment
686-
const createAssessmentReadOutput: Record = await callZomeBob(
717+
// create a second assessment on the Post
718+
const createP3Assessment = {
719+
"value": { "Integer": 2 },
720+
"dimension_eh": createDimensionEntryHash,
721+
"subject_eh": createPostEntryHash3,
722+
"maybe_input_dataset": null,
723+
}
724+
725+
const createP3AssessmentEntryHash: EntryHash = await callZomeAlice(
687726
"sensemaker",
688-
"get_assessment",
689-
createAssessmentEntryHash,
727+
"create_assessment",
728+
createP3Assessment,
690729
true
691730
);
692-
t.deepEqual(createAssessment, decode((createAssessmentReadOutput.entry as any).Present.entry) as any);
731+
t.ok(createP3AssessmentEntryHash);
732+
733+
734+
const createP3Assessment2 = {
735+
"value": { "Integer": 2 },
736+
"dimension_eh": createDimensionEntryHash,
737+
"subject_eh": createPostEntryHash3,
738+
"maybe_input_dataset": null,
739+
}
740+
741+
const createP3AssessmentEntryHash2: EntryHash = await callZomeAlice(
742+
"sensemaker",
743+
"create_assessment",
744+
createP3Assessment2,
745+
true
746+
);
747+
t.ok(createP3AssessmentEntryHash2);
748+
749+
// Wait for the created entry to be propagated to the other node.
750+
await pause(100);
751+
693752

694753
// define objective dimension
695754

@@ -758,8 +817,33 @@ export default () => {
758817
)
759818
t.ok(runMethodOutput);
760819

761-
await pause(100)
820+
const runMethodInput2 = {
821+
"resource_eh": createPostEntryHash2,
822+
"method_eh": createMethodEntryHash,
823+
}
762824

825+
const runMethodOutput2: EntryHash = await callZomeAlice(
826+
"sensemaker",
827+
"run_method",
828+
runMethodInput2,
829+
true
830+
)
831+
t.ok(runMethodOutput2);
832+
833+
const runMethodInput3 = {
834+
"resource_eh": createPostEntryHash3,
835+
"method_eh": createMethodEntryHash,
836+
}
837+
838+
const runMethodOutput3: EntryHash = await callZomeAlice(
839+
"sensemaker",
840+
"run_method",
841+
runMethodInput3,
842+
true
843+
)
844+
t.ok(runMethodOutput3);
845+
846+
await pause(100)
763847

764848
const readObjectiveAssessmentOutput: Record = await callZomeBob(
765849
"sensemaker",
@@ -769,13 +853,42 @@ export default () => {
769853
);
770854

771855
const objectiveAssessment = {
772-
"value": { "Integer": createAssessment.value.Integer + createAssessment2.value.Integer },
856+
"value": { "Integer": createP1Assessment.value.Integer + createP1Assessment2.value.Integer },
773857
"dimension_eh": createObjectiveDimensionEntryHash,
774858
"subject_eh": createPostEntryHash,
775859
"maybe_input_dataset": null,
776860
}
777861
t.deepEqual(objectiveAssessment, decode((readObjectiveAssessmentOutput.entry as any).Present.entry) as any);
778862

863+
const readObjectiveAssessmentOutput2: Record = await callZomeBob(
864+
"sensemaker",
865+
"get_assessment",
866+
runMethodOutput2,
867+
true
868+
);
869+
870+
const objectiveAssessment2 = {
871+
"value": { "Integer": createP2Assessment.value.Integer + createP2Assessment2.value.Integer },
872+
"dimension_eh": createObjectiveDimensionEntryHash,
873+
"subject_eh": createPostEntryHash2,
874+
"maybe_input_dataset": null,
875+
}
876+
t.deepEqual(objectiveAssessment2, decode((readObjectiveAssessmentOutput2.entry as any).Present.entry) as any);
877+
878+
const readObjectiveAssessmentOutput3: Record = await callZomeBob(
879+
"sensemaker",
880+
"get_assessment",
881+
runMethodOutput3,
882+
true
883+
);
884+
885+
const objectiveAssessment3 = {
886+
"value": { "Integer": createP3Assessment.value.Integer + createP3Assessment2.value.Integer },
887+
"dimension_eh": createObjectiveDimensionEntryHash,
888+
"subject_eh": createPostEntryHash3,
889+
"maybe_input_dataset": null,
890+
}
891+
t.deepEqual(objectiveAssessment3, decode((readObjectiveAssessmentOutput3.entry as any).Present.entry) as any);
779892
// create context and threshold
780893

781894
// create 3 objective assessments, 2 meet threshold and test ordering, 1 doesn't meet to test threshold

0 commit comments

Comments
 (0)