|
6 | 6 | Assessment, AssessmentObservable,
|
7 | 7 | GetAssessmentsForResourceInput, ResourceAssessmentsResponse,
|
8 | 8 | RangeValue,
|
| 9 | + ResourceAssessmentResults, |
9 | 10 | } from '@neighbourhoods/client'
|
10 | 11 |
|
11 | 12 | // @see https://crates.io/crates/holo_hash
|
@@ -43,27 +44,41 @@ const mockHash = (prefix) =>
|
43 | 44 | export const mockEh = () => mockHash(HOLOHASH_PREFIX_ENTRY)
|
44 | 45 | export const mockAgentKey = () => mockHash(HOLOHASH_PREFIX_AGENT)
|
45 | 46 |
|
46 |
| -export const mockAssessment = (val: RangeValue) => ({ |
47 |
| - resource_eh: mockEh(), |
48 |
| - dimension_eh: mockEh(), |
| 47 | +export const mockAssessment = (val: RangeValue, rEh?: Uint8Array, dEh?: Uint8Array) => ({ |
| 48 | + resource_eh: rEh || mockEh(), |
| 49 | + dimension_eh: dEh || mockEh(), |
49 | 50 | resource_def_eh: mockEh(),
|
50 | 51 | maybe_input_dataset: null,
|
51 | 52 | value: val,
|
52 | 53 | author: mockEh(),
|
53 | 54 | timestamp: Date.now(),
|
54 | 55 | })
|
55 | 56 |
|
| 57 | +interface MockableStore extends SensemakerStore { |
| 58 | + mockAssessments: (withAssessments: ResourceAssessmentsResponse) => void |
| 59 | +} |
| 60 | +interface MockedService extends SensemakerService { |
| 61 | + _assessments: Assessment[] |
| 62 | +} |
| 63 | + |
56 | 64 | export async function mockAssessmentsStore(withAssessments: ResourceAssessmentsResponse) {
|
57 | 65 | const pubKey = mockAgentKey()
|
58 | 66 | const serviceMock = {
|
| 67 | + _assessments: withAssessments, |
| 68 | + |
59 | 69 | myPubKey() {
|
60 | 70 | return pubKey
|
61 | 71 | },
|
62 | 72 |
|
63 | 73 | async getAssessmentsForResources(getAssessmentsInput: GetAssessmentsForResourceInput): Promise<Assessment[]> {
|
64 |
| - return Object.keys(withAssessments).flatMap(resourceEh => withAssessments[resourceEh]) |
| 74 | + return Object.keys(serviceMock._assessments).flatMap(resourceEh => serviceMock._assessments[resourceEh]) |
65 | 75 | },
|
66 | 76 | }
|
67 | 77 |
|
68 |
| - return new SensemakerStore(serviceMock as SensemakerService) |
| 78 | + // @ts-ignore |
| 79 | + const s: MockableStore = new SensemakerStore(serviceMock as MockedService) |
| 80 | + |
| 81 | + s.mockAssessments = (withAssessments) => serviceMock._assessments = withAssessments |
| 82 | + |
| 83 | + return s |
69 | 84 | }
|
0 commit comments