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

Commit 3a7dbaf

Browse files
committed
implement some interfaces to update mocked API data during test process
1 parent bbbdca4 commit 3a7dbaf

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

src/store_mocks.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
Assessment, AssessmentObservable,
77
GetAssessmentsForResourceInput, ResourceAssessmentsResponse,
88
RangeValue,
9+
ResourceAssessmentResults,
910
} from '@neighbourhoods/client'
1011

1112
// @see https://crates.io/crates/holo_hash
@@ -43,27 +44,41 @@ const mockHash = (prefix) =>
4344
export const mockEh = () => mockHash(HOLOHASH_PREFIX_ENTRY)
4445
export const mockAgentKey = () => mockHash(HOLOHASH_PREFIX_AGENT)
4546

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(),
4950
resource_def_eh: mockEh(),
5051
maybe_input_dataset: null,
5152
value: val,
5253
author: mockEh(),
5354
timestamp: Date.now(),
5455
})
5556

57+
interface MockableStore extends SensemakerStore {
58+
mockAssessments: (withAssessments: ResourceAssessmentsResponse) => void
59+
}
60+
interface MockedService extends SensemakerService {
61+
_assessments: Assessment[]
62+
}
63+
5664
export async function mockAssessmentsStore(withAssessments: ResourceAssessmentsResponse) {
5765
const pubKey = mockAgentKey()
5866
const serviceMock = {
67+
_assessments: withAssessments,
68+
5969
myPubKey() {
6070
return pubKey
6171
},
6272

6373
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])
6575
},
6676
}
6777

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
6984
}

0 commit comments

Comments
 (0)