jazz-tools 0.18.38 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.svelte-kit/__package__/jazz.class.svelte.d.ts +8 -8
- package/.svelte-kit/__package__/jazz.class.svelte.d.ts.map +1 -1
- package/.svelte-kit/__package__/jazz.class.svelte.js +39 -14
- package/.svelte-kit/__package__/media/image.svelte +6 -5
- package/.svelte-kit/__package__/media/image.svelte.d.ts.map +1 -1
- package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.d.ts +2 -0
- package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.d.ts.map +1 -0
- package/.svelte-kit/__package__/tests/AccountCoState.svelte.test-d.js +19 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test-d.d.ts +2 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test-d.d.ts.map +1 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test-d.js +16 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test.d.ts +2 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test.d.ts.map +1 -0
- package/.svelte-kit/__package__/tests/CoState.svelte.test.js +42 -0
- package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte +23 -0
- package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte.d.ts +12 -0
- package/.svelte-kit/__package__/tests/TestCoStateWrapper.svelte.d.ts.map +1 -0
- package/.turbo/turbo-build.log +57 -57
- package/CHANGELOG.md +22 -0
- package/dist/better-auth/database-adapter/index.js +14 -11
- package/dist/better-auth/database-adapter/index.js.map +1 -1
- package/dist/better-auth/database-adapter/repository/generic.d.ts +1 -1
- package/dist/better-auth/database-adapter/repository/generic.d.ts.map +1 -1
- package/dist/better-auth/database-adapter/repository/user.d.ts.map +1 -1
- package/dist/{chunk-OSQ7S47Q.js → chunk-P3YLNFN4.js} +504 -232
- package/dist/chunk-P3YLNFN4.js.map +1 -0
- package/dist/index.js +14 -6
- package/dist/index.js.map +1 -1
- package/dist/media/{chunk-K6GCHLQU.js → chunk-3LKBM3G3.js} +23 -15
- package/dist/media/chunk-3LKBM3G3.js.map +1 -0
- package/dist/media/create-image/browser.d.ts +2 -2
- package/dist/media/create-image/react-native.d.ts +2 -2
- package/dist/media/create-image/server.d.ts +2 -2
- package/dist/media/create-image-factory.d.ts +2 -2
- package/dist/media/index.browser.js +1 -1
- package/dist/media/index.js +1 -1
- package/dist/media/index.native.js +1 -1
- package/dist/media/index.server.js +1 -1
- package/dist/media/utils.d.ts.map +1 -1
- package/dist/react/hooks.d.ts +1 -1
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +31 -15
- package/dist/react/index.js.map +1 -1
- package/dist/react/media/image.d.ts.map +1 -1
- package/dist/react-core/hooks.d.ts +126 -224
- package/dist/react-core/hooks.d.ts.map +1 -1
- package/dist/react-core/index.js +65 -63
- package/dist/react-core/index.js.map +1 -1
- package/dist/react-core/subscription-provider.d.ts.map +1 -1
- package/dist/react-core/tests/createCoValueSubscriptionContext.test.d.ts +2 -0
- package/dist/react-core/tests/createCoValueSubscriptionContext.test.d.ts.map +1 -0
- package/dist/react-core/tests/useAccount.selector.test.d.ts +2 -0
- package/dist/react-core/tests/useAccount.selector.test.d.ts.map +1 -0
- package/dist/react-core/tests/useCoState.selector.test.d.ts +2 -0
- package/dist/react-core/tests/useCoState.selector.test.d.ts.map +1 -0
- package/dist/react-native-core/hooks.d.ts +1 -1
- package/dist/react-native-core/hooks.d.ts.map +1 -1
- package/dist/react-native-core/index.js +7 -5
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/react-native-core/media/image.d.ts.map +1 -1
- package/dist/svelte/jazz.class.svelte.d.ts +8 -8
- package/dist/svelte/jazz.class.svelte.d.ts.map +1 -1
- package/dist/svelte/jazz.class.svelte.js +39 -14
- package/dist/svelte/media/image.svelte +6 -5
- package/dist/svelte/media/image.svelte.d.ts.map +1 -1
- package/dist/svelte/tests/AccountCoState.svelte.test-d.d.ts +2 -0
- package/dist/svelte/tests/AccountCoState.svelte.test-d.d.ts.map +1 -0
- package/dist/svelte/tests/AccountCoState.svelte.test-d.js +19 -0
- package/dist/svelte/tests/CoState.svelte.test-d.d.ts +2 -0
- package/dist/svelte/tests/CoState.svelte.test-d.d.ts.map +1 -0
- package/dist/svelte/tests/CoState.svelte.test-d.js +16 -0
- package/dist/svelte/tests/CoState.svelte.test.d.ts +2 -0
- package/dist/svelte/tests/CoState.svelte.test.d.ts.map +1 -0
- package/dist/svelte/tests/CoState.svelte.test.js +42 -0
- package/dist/svelte/tests/TestCoStateWrapper.svelte +23 -0
- package/dist/svelte/tests/TestCoStateWrapper.svelte.d.ts +12 -0
- package/dist/svelte/tests/TestCoStateWrapper.svelte.d.ts.map +1 -0
- package/dist/testing.js +3 -1
- package/dist/testing.js.map +1 -1
- package/dist/tools/coValues/CoValueBase.d.ts +4 -1
- package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
- package/dist/tools/coValues/account.d.ts +6 -6
- package/dist/tools/coValues/account.d.ts.map +1 -1
- package/dist/tools/coValues/coFeed.d.ts +5 -5
- package/dist/tools/coValues/coFeed.d.ts.map +1 -1
- package/dist/tools/coValues/coList.d.ts +9 -8
- package/dist/tools/coValues/coList.d.ts.map +1 -1
- package/dist/tools/coValues/coMap.d.ts +17 -17
- package/dist/tools/coValues/coMap.d.ts.map +1 -1
- package/dist/tools/coValues/coPlainText.d.ts +3 -3
- package/dist/tools/coValues/coPlainText.d.ts.map +1 -1
- package/dist/tools/coValues/coVector.d.ts +3 -3
- package/dist/tools/coValues/coVector.d.ts.map +1 -1
- package/dist/tools/coValues/deepLoading.d.ts +66 -36
- package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
- package/dist/tools/coValues/extensions/imageDef.d.ts +1 -1
- package/dist/tools/coValues/extensions/imageDef.d.ts.map +1 -1
- package/dist/tools/coValues/group.d.ts +2 -2
- package/dist/tools/coValues/group.d.ts.map +1 -1
- package/dist/tools/coValues/inbox.d.ts.map +1 -1
- package/dist/tools/coValues/interfaces.d.ts +14 -6
- package/dist/tools/coValues/interfaces.d.ts.map +1 -1
- package/dist/tools/coValues/request.d.ts.map +1 -1
- package/dist/tools/coValues/schemaUnion.d.ts +2 -2
- package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
- package/dist/tools/exports.d.ts +3 -3
- package/dist/tools/exports.d.ts.map +1 -1
- package/dist/tools/implementation/refs.d.ts +3 -3
- package/dist/tools/implementation/refs.d.ts.map +1 -1
- package/dist/tools/implementation/schema.d.ts +2 -2
- package/dist/tools/implementation/schema.d.ts.map +1 -1
- package/dist/tools/implementation/schemaUtils.d.ts +8 -0
- package/dist/tools/implementation/schemaUtils.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +33 -18
- package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +5 -4
- package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +23 -12
- package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +29 -18
- package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +39 -22
- package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts +1 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +30 -19
- package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts +5 -0
- package/dist/tools/implementation/zodSchema/schemaTypes/CoValueSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts +6 -5
- package/dist/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +3 -2
- package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +3 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.d.ts +22 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesMaybeLoaded.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +4 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.d.ts +9 -0
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.d.ts.map +1 -0
- package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts +7 -6
- package/dist/tools/implementation/zodSchema/zodSchema.d.ts.map +1 -1
- package/dist/tools/internal.d.ts +3 -3
- package/dist/tools/internal.d.ts.map +1 -1
- package/dist/tools/lib/utils.d.ts +14 -0
- package/dist/tools/lib/utils.d.ts.map +1 -0
- package/dist/tools/lib/utils.test.d.ts +2 -0
- package/dist/tools/lib/utils.test.d.ts.map +1 -0
- package/dist/tools/subscribe/CoValueCoreSubscription.d.ts +3 -2
- package/dist/tools/subscribe/CoValueCoreSubscription.d.ts.map +1 -1
- package/dist/tools/subscribe/JazzError.d.ts +4 -3
- package/dist/tools/subscribe/JazzError.d.ts.map +1 -1
- package/dist/tools/subscribe/SubscriptionScope.d.ts +6 -5
- package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
- package/dist/tools/subscribe/index.d.ts.map +1 -1
- package/dist/tools/subscribe/types.d.ts +23 -3
- package/dist/tools/subscribe/types.d.ts.map +1 -1
- package/dist/tools/subscribe/utils.d.ts.map +1 -1
- package/dist/tools/testing.d.ts +3 -2
- package/dist/tools/testing.d.ts.map +1 -1
- package/dist/tools/tests/schema.resolved.test.d.ts +2 -0
- package/dist/tools/tests/schema.resolved.test.d.ts.map +1 -0
- package/dist/tools/tests/utils.d.ts +2 -1
- package/dist/tools/tests/utils.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/better-auth/database-adapter/index.ts +2 -2
- package/src/better-auth/database-adapter/repository/account.ts +3 -3
- package/src/better-auth/database-adapter/repository/generic.ts +9 -6
- package/src/better-auth/database-adapter/repository/user.ts +6 -2
- package/src/better-auth/database-adapter/schema.ts +1 -1
- package/src/better-auth/database-adapter/tests/index.test.ts +3 -4
- package/src/inspector/tests/viewer/history-view.test.tsx +6 -2
- package/src/media/utils.test.ts +5 -0
- package/src/media/utils.ts +25 -16
- package/src/react/hooks.tsx +2 -2
- package/src/react/index.ts +2 -2
- package/src/react/media/image.tsx +10 -2
- package/src/react/tests/useAcceptInvite.test.ts +3 -1
- package/src/react-core/hooks.ts +226 -304
- package/src/react-core/subscription-provider.tsx +14 -7
- package/src/react-core/tests/createCoValueSubscriptionContext.test.tsx +233 -0
- package/src/react-core/tests/subscription.bench.tsx +32 -15
- package/src/react-core/tests/{useAccountWithSelector.test.ts → useAccount.selector.test.ts} +72 -24
- package/src/react-core/tests/useAccount.test.ts +92 -106
- package/src/react-core/tests/{useCoStateWithSelector.test.ts → useCoState.selector.test.ts} +23 -8
- package/src/react-core/tests/useCoState.test.ts +173 -49
- package/src/react-core/tests/useInboxSender.test.ts +3 -1
- package/src/react-core/tests/usePassPhraseAuth.test.ts +11 -82
- package/src/react-core/tests/useSubscriptionSelector.test.ts +48 -14
- package/src/react-native-core/hooks.tsx +2 -2
- package/src/react-native-core/media/image.tsx +3 -1
- package/src/svelte/jazz.class.svelte.ts +103 -27
- package/src/svelte/media/image.svelte +6 -5
- package/src/svelte/tests/AccountCoState.svelte.test-d.ts +23 -0
- package/src/svelte/tests/CoState.svelte.test-d.ts +20 -0
- package/src/svelte/tests/CoState.svelte.test.ts +57 -0
- package/src/svelte/tests/TestCoStateWrapper.svelte +23 -0
- package/src/tools/coValues/CoValueBase.ts +12 -0
- package/src/tools/coValues/account.ts +17 -12
- package/src/tools/coValues/coFeed.ts +38 -15
- package/src/tools/coValues/coList.ts +16 -11
- package/src/tools/coValues/coMap.ts +15 -14
- package/src/tools/coValues/coPlainText.ts +6 -3
- package/src/tools/coValues/coVector.ts +6 -5
- package/src/tools/coValues/deepLoading.ts +98 -51
- package/src/tools/coValues/group.ts +3 -2
- package/src/tools/coValues/inbox.ts +11 -10
- package/src/tools/coValues/interfaces.ts +49 -27
- package/src/tools/coValues/request.ts +8 -6
- package/src/tools/coValues/schemaUnion.ts +2 -1
- package/src/tools/exports.ts +11 -1
- package/src/tools/implementation/refs.ts +19 -13
- package/src/tools/implementation/schema.ts +5 -4
- package/src/tools/implementation/schemaUtils.ts +15 -0
- package/src/tools/implementation/zodSchema/runtimeConverters/coValueSchemaTransformation.ts +4 -4
- package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +131 -95
- package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +19 -9
- package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +73 -22
- package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +86 -28
- package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +204 -148
- package/src/tools/implementation/zodSchema/schemaTypes/CoOptionalSchema.ts +1 -0
- package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +71 -27
- package/src/tools/implementation/zodSchema/schemaTypes/CoValueSchema.ts +7 -0
- package/src/tools/implementation/zodSchema/schemaTypes/CoVectorSchema.ts +8 -6
- package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/schemaTypes/GroupSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +4 -1
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +3 -0
- package/src/tools/implementation/zodSchema/typeConverters/{InstanceOfSchemaCoValuesNullable.ts → InstanceOfSchemaCoValuesMaybeLoaded.ts} +47 -39
- package/src/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +4 -0
- package/src/tools/implementation/zodSchema/typeConverters/{InstanceOrPrimitiveOfSchemaCoValuesNullable.ts → InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded.ts} +7 -3
- package/src/tools/implementation/zodSchema/zodSchema.ts +15 -7
- package/src/tools/internal.ts +3 -3
- package/src/tools/lib/utils.test.ts +56 -0
- package/src/tools/lib/utils.ts +32 -0
- package/src/tools/subscribe/CoValueCoreSubscription.ts +13 -8
- package/src/tools/subscribe/JazzError.ts +8 -2
- package/src/tools/subscribe/SubscriptionScope.ts +55 -44
- package/src/tools/subscribe/index.ts +12 -4
- package/src/tools/subscribe/types.ts +36 -2
- package/src/tools/subscribe/utils.ts +2 -1
- package/src/tools/testing.ts +5 -0
- package/src/tools/tests/CoValueCoreSubscription.test.ts +10 -4
- package/src/tools/tests/ContextManager.test.ts +12 -5
- package/src/tools/tests/account.test.ts +22 -12
- package/src/tools/tests/coDiscriminatedUnion.test.ts +8 -4
- package/src/tools/tests/coFeed.branch.test.ts +48 -32
- package/src/tools/tests/coFeed.test-d.ts +17 -10
- package/src/tools/tests/coFeed.test.ts +52 -30
- package/src/tools/tests/coList.branch.test.ts +21 -21
- package/src/tools/tests/coList.test-d.ts +39 -23
- package/src/tools/tests/coList.test.ts +51 -25
- package/src/tools/tests/coList.unique.test.ts +34 -29
- package/src/tools/tests/coMap.branch.test.ts +20 -21
- package/src/tools/tests/coMap.record.test-d.ts +28 -26
- package/src/tools/tests/coMap.record.test.ts +30 -20
- package/src/tools/tests/coMap.test-d.ts +31 -29
- package/src/tools/tests/coMap.test.ts +67 -40
- package/src/tools/tests/coMap.unique.test.ts +25 -24
- package/src/tools/tests/coVector.test.ts +29 -15
- package/src/tools/tests/createContext.test.ts +5 -3
- package/src/tools/tests/deepLoading.test.ts +314 -117
- package/src/tools/tests/exportImport.test.ts +16 -15
- package/src/tools/tests/groupsAndAccounts.test.ts +39 -16
- package/src/tools/tests/inbox.test.ts +3 -1
- package/src/tools/tests/load.test.ts +29 -23
- package/src/tools/tests/patterns/quest.test.ts +3 -2
- package/src/tools/tests/patterns/requestToJoin.test.ts +17 -17
- package/src/tools/tests/request.test.ts +12 -2
- package/src/tools/tests/schema.resolved.test.ts +723 -0
- package/src/tools/tests/schemaUnion.test.ts +7 -3
- package/src/tools/tests/subscribe.test.ts +39 -21
- package/src/tools/tests/testing.test.ts +3 -2
- package/src/tools/tests/utils.ts +15 -2
- package/dist/chunk-OSQ7S47Q.js.map +0 -1
- package/dist/media/chunk-K6GCHLQU.js.map +0 -1
- package/dist/react-core/tests/useAccountWithSelector.test.d.ts +0 -2
- package/dist/react-core/tests/useAccountWithSelector.test.d.ts.map +0 -1
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts +0 -2
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts.map +0 -1
- package/dist/tools/implementation/errors.d.ts +0 -2
- package/dist/tools/implementation/errors.d.ts.map +0 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +0 -19
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +0 -1
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +0 -5
- package/dist/tools/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +0 -1
- package/dist/tools/lib/id.d.ts +0 -2
- package/dist/tools/lib/id.d.ts.map +0 -1
- package/src/tools/implementation/errors.ts +0 -1
- package/src/tools/lib/id.ts +0 -3
|
@@ -5,12 +5,15 @@ import {
|
|
|
5
5
|
Account,
|
|
6
6
|
CoRichText,
|
|
7
7
|
CoValue,
|
|
8
|
+
CoValueLoadingState,
|
|
8
9
|
Group,
|
|
9
10
|
ID,
|
|
10
11
|
Loaded,
|
|
12
|
+
MaybeLoaded,
|
|
11
13
|
co,
|
|
12
14
|
z,
|
|
13
15
|
} from "jazz-tools";
|
|
16
|
+
import { assertLoaded } from "jazz-tools/testing";
|
|
14
17
|
import { assert, beforeEach, describe, expect, expectTypeOf, it } from "vitest";
|
|
15
18
|
import { useCoState } from "../index.js";
|
|
16
19
|
import { createJazzTestAccount, setupJazzTestSync } from "../testing.js";
|
|
@@ -44,10 +47,11 @@ describe("useCoState", () => {
|
|
|
44
47
|
account,
|
|
45
48
|
});
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
assertLoaded(result.current);
|
|
51
|
+
expect(result.current.value).toBe("123");
|
|
48
52
|
});
|
|
49
53
|
|
|
50
|
-
it("should return
|
|
54
|
+
it("should return an 'unavailable' value on invalid id", async () => {
|
|
51
55
|
const TestMap = co.map({
|
|
52
56
|
value: z.string(),
|
|
53
57
|
});
|
|
@@ -60,10 +64,12 @@ describe("useCoState", () => {
|
|
|
60
64
|
account,
|
|
61
65
|
});
|
|
62
66
|
|
|
63
|
-
expect(result.current).
|
|
67
|
+
expect(result.current.$jazz.loadingState).toBe(CoValueLoadingState.LOADING);
|
|
64
68
|
|
|
65
69
|
await waitFor(() => {
|
|
66
|
-
expect(result.current).
|
|
70
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
71
|
+
CoValueLoadingState.UNAVAILABLE,
|
|
72
|
+
);
|
|
67
73
|
});
|
|
68
74
|
});
|
|
69
75
|
|
|
@@ -84,13 +90,14 @@ describe("useCoState", () => {
|
|
|
84
90
|
account,
|
|
85
91
|
});
|
|
86
92
|
|
|
87
|
-
|
|
93
|
+
assertLoaded(result.current);
|
|
94
|
+
expect(result.current.value).toBe("123");
|
|
88
95
|
|
|
89
96
|
act(() => {
|
|
90
97
|
map.$jazz.set("value", "456");
|
|
91
98
|
});
|
|
92
99
|
|
|
93
|
-
expect(result.current
|
|
100
|
+
expect(result.current.value).toBe("456");
|
|
94
101
|
});
|
|
95
102
|
|
|
96
103
|
it("should load nested values if requested", async () => {
|
|
@@ -126,8 +133,9 @@ describe("useCoState", () => {
|
|
|
126
133
|
},
|
|
127
134
|
);
|
|
128
135
|
|
|
129
|
-
|
|
130
|
-
expect(result.current
|
|
136
|
+
assertLoaded(result.current);
|
|
137
|
+
expect(result.current.value).toBe("123");
|
|
138
|
+
expect(result.current.nested.value).toBe("456");
|
|
131
139
|
});
|
|
132
140
|
|
|
133
141
|
it("should load nested values on access even if not requested", async () => {
|
|
@@ -155,11 +163,13 @@ describe("useCoState", () => {
|
|
|
155
163
|
account,
|
|
156
164
|
});
|
|
157
165
|
|
|
158
|
-
|
|
159
|
-
expect(result.current
|
|
166
|
+
assertLoaded(result.current);
|
|
167
|
+
expect(result.current.value).toBe("123");
|
|
168
|
+
assertLoaded(result.current.nested);
|
|
169
|
+
expect(result.current.nested.value).toBe("456");
|
|
160
170
|
});
|
|
161
171
|
|
|
162
|
-
it("should return
|
|
172
|
+
it("should return an 'unavailable' value if the coValue is not found", async () => {
|
|
163
173
|
const TestMap = co.map({
|
|
164
174
|
value: z.string(),
|
|
165
175
|
});
|
|
@@ -168,24 +178,26 @@ describe("useCoState", () => {
|
|
|
168
178
|
value: "123",
|
|
169
179
|
});
|
|
170
180
|
|
|
171
|
-
const
|
|
172
|
-
isCurrentActiveAccount: true,
|
|
173
|
-
});
|
|
181
|
+
const viewerAccount = await createJazzTestAccount();
|
|
174
182
|
|
|
175
|
-
for (const peer of
|
|
183
|
+
for (const peer of viewerAccount.$jazz.localNode.syncManager.getServerPeers(
|
|
184
|
+
viewerAccount.$jazz.raw.id,
|
|
185
|
+
)) {
|
|
176
186
|
peer.gracefulShutdown();
|
|
177
187
|
}
|
|
178
188
|
|
|
179
189
|
const { result } = renderHook(() => useCoState(TestMap, map.$jazz.id), {
|
|
180
|
-
account,
|
|
190
|
+
account: viewerAccount,
|
|
181
191
|
});
|
|
182
192
|
|
|
183
193
|
await waitFor(() => {
|
|
184
|
-
expect(result.current).
|
|
194
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
195
|
+
CoValueLoadingState.UNAVAILABLE,
|
|
196
|
+
);
|
|
185
197
|
});
|
|
186
198
|
});
|
|
187
199
|
|
|
188
|
-
it("should return
|
|
200
|
+
it("should return an 'unauthorized' value if the coValue is not accessible", async () => {
|
|
189
201
|
const TestMap = co.map({
|
|
190
202
|
value: z.string(),
|
|
191
203
|
});
|
|
@@ -210,11 +222,13 @@ describe("useCoState", () => {
|
|
|
210
222
|
});
|
|
211
223
|
|
|
212
224
|
await waitFor(() => {
|
|
213
|
-
expect(result.current).
|
|
225
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
226
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
227
|
+
);
|
|
214
228
|
});
|
|
215
229
|
});
|
|
216
230
|
|
|
217
|
-
it("should
|
|
231
|
+
it("should return a 'loaded' value if the coValue is shared with everyone", async () => {
|
|
218
232
|
const TestMap = co.map({
|
|
219
233
|
value: z.string(),
|
|
220
234
|
});
|
|
@@ -242,7 +256,8 @@ describe("useCoState", () => {
|
|
|
242
256
|
});
|
|
243
257
|
|
|
244
258
|
await waitFor(() => {
|
|
245
|
-
|
|
259
|
+
assertLoaded(result.current);
|
|
260
|
+
expect(result.current.value).toBe("123");
|
|
246
261
|
});
|
|
247
262
|
});
|
|
248
263
|
|
|
@@ -273,19 +288,24 @@ describe("useCoState", () => {
|
|
|
273
288
|
});
|
|
274
289
|
|
|
275
290
|
await waitFor(() => {
|
|
276
|
-
expect(result.current).
|
|
291
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
292
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
293
|
+
);
|
|
277
294
|
});
|
|
278
295
|
|
|
279
296
|
group.addMember("everyone", "reader");
|
|
280
297
|
|
|
281
298
|
await waitFor(() => {
|
|
282
|
-
expect(result.current).not.
|
|
299
|
+
expect(result.current.$jazz.loadingState).not.toBe(
|
|
300
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
301
|
+
);
|
|
283
302
|
});
|
|
284
303
|
|
|
285
|
-
|
|
304
|
+
assertLoaded(result.current);
|
|
305
|
+
expect(result.current.value).toBe("123");
|
|
286
306
|
});
|
|
287
307
|
|
|
288
|
-
it("should return
|
|
308
|
+
it("should return an 'unauthorized' value when the coValue becomes inaccessible", async () => {
|
|
289
309
|
const TestMap = co.map({
|
|
290
310
|
value: z.string(),
|
|
291
311
|
});
|
|
@@ -322,18 +342,22 @@ describe("useCoState", () => {
|
|
|
322
342
|
group.removeMember(account);
|
|
323
343
|
|
|
324
344
|
await waitFor(() => {
|
|
325
|
-
expect(result.current).
|
|
345
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
346
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
347
|
+
);
|
|
326
348
|
});
|
|
327
349
|
});
|
|
328
350
|
|
|
329
|
-
it("should return a
|
|
351
|
+
it("should return a 'unavailable' value when no id is provided", async () => {
|
|
330
352
|
const TestMap = co.map({
|
|
331
353
|
value: z.string(),
|
|
332
354
|
});
|
|
333
355
|
|
|
334
356
|
const { result } = renderHook(() => useCoState(TestMap, undefined));
|
|
335
357
|
|
|
336
|
-
expect(result.current).
|
|
358
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
359
|
+
CoValueLoadingState.UNAVAILABLE,
|
|
360
|
+
);
|
|
337
361
|
});
|
|
338
362
|
|
|
339
363
|
it("should update when an inner coValue is updated", async () => {
|
|
@@ -382,14 +406,17 @@ describe("useCoState", () => {
|
|
|
382
406
|
);
|
|
383
407
|
|
|
384
408
|
await waitFor(() => {
|
|
385
|
-
expect(result.current).
|
|
409
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
410
|
+
CoValueLoadingState.UNAUTHORIZED,
|
|
411
|
+
);
|
|
386
412
|
});
|
|
387
413
|
|
|
388
|
-
expect(result.current?.nested).toBeUndefined();
|
|
389
414
|
group.addMember("everyone", "reader");
|
|
390
415
|
|
|
391
416
|
await waitFor(() => {
|
|
392
|
-
|
|
417
|
+
assertLoaded(result.current);
|
|
418
|
+
assert(result.current.nested);
|
|
419
|
+
expect(result.current.nested.value).toBe("456");
|
|
393
420
|
});
|
|
394
421
|
});
|
|
395
422
|
|
|
@@ -406,11 +433,11 @@ describe("useCoState", () => {
|
|
|
406
433
|
useCoState(TestMap, map.$jazz.id as ID<CoValue>),
|
|
407
434
|
);
|
|
408
435
|
expectTypeOf(result).toEqualTypeOf<{
|
|
409
|
-
current: Loaded<typeof TestMap
|
|
436
|
+
current: MaybeLoaded<Loaded<typeof TestMap>>;
|
|
410
437
|
}>();
|
|
411
438
|
});
|
|
412
439
|
|
|
413
|
-
it("should set the value to
|
|
440
|
+
it("should set the value to 'unavailable' when the id is set to undefined", () => {
|
|
414
441
|
const TestMap = co.map({
|
|
415
442
|
value: z.string(),
|
|
416
443
|
});
|
|
@@ -426,11 +453,14 @@ describe("useCoState", () => {
|
|
|
426
453
|
},
|
|
427
454
|
);
|
|
428
455
|
|
|
429
|
-
|
|
456
|
+
assertLoaded(result.current);
|
|
457
|
+
expect(result.current.value).toBe("123");
|
|
430
458
|
|
|
431
459
|
rerender({ id: undefined });
|
|
432
460
|
|
|
433
|
-
expect(result.current
|
|
461
|
+
expect(result.current.$jazz.loadingState).toBe(
|
|
462
|
+
CoValueLoadingState.UNAVAILABLE,
|
|
463
|
+
);
|
|
434
464
|
});
|
|
435
465
|
|
|
436
466
|
it("should only render once when loading a list of values", async () => {
|
|
@@ -491,7 +521,7 @@ describe("useCoState", () => {
|
|
|
491
521
|
loadAs: john,
|
|
492
522
|
});
|
|
493
523
|
|
|
494
|
-
|
|
524
|
+
assertLoaded(janeOnJohn);
|
|
495
525
|
|
|
496
526
|
const group = Group.create(john);
|
|
497
527
|
group.addMember(janeOnJohn, "reader");
|
|
@@ -504,15 +534,27 @@ describe("useCoState", () => {
|
|
|
504
534
|
);
|
|
505
535
|
|
|
506
536
|
const { result } = renderHook(
|
|
507
|
-
() =>
|
|
537
|
+
() => {
|
|
538
|
+
const loadedDog = useCoState(Dog, dog.$jazz.id);
|
|
539
|
+
if (!loadedDog.$isLoaded) {
|
|
540
|
+
return undefined;
|
|
541
|
+
}
|
|
542
|
+
return loadedDog.$jazz.owner.members;
|
|
543
|
+
},
|
|
508
544
|
{
|
|
509
545
|
account: john,
|
|
510
546
|
},
|
|
511
547
|
);
|
|
512
548
|
|
|
513
549
|
await waitFor(() => {
|
|
514
|
-
|
|
515
|
-
|
|
550
|
+
const johnsAccount = result.current?.[0]?.account;
|
|
551
|
+
const janesAccount = result.current?.[1]?.account;
|
|
552
|
+
assert(johnsAccount);
|
|
553
|
+
assert(janesAccount);
|
|
554
|
+
assertLoaded(johnsAccount.profile);
|
|
555
|
+
assertLoaded(janesAccount.profile);
|
|
556
|
+
expect(johnsAccount.profile.name).toBe("John Doe");
|
|
557
|
+
expect(janesAccount.profile.name).toBe("Jane Doe");
|
|
516
558
|
});
|
|
517
559
|
});
|
|
518
560
|
|
|
@@ -560,6 +602,79 @@ describe("useCoState", () => {
|
|
|
560
602
|
expect(renderings).toEqual([true]);
|
|
561
603
|
});
|
|
562
604
|
|
|
605
|
+
it("should use the schema's resolve query if no resolve query is provided", async () => {
|
|
606
|
+
const Person = co.map({
|
|
607
|
+
name: co.plainText(),
|
|
608
|
+
});
|
|
609
|
+
const PersonWithName = Person.resolved({ name: true });
|
|
610
|
+
|
|
611
|
+
const group = Group.create();
|
|
612
|
+
group.addMember("everyone", "writer");
|
|
613
|
+
|
|
614
|
+
const person = Person.create(
|
|
615
|
+
{
|
|
616
|
+
name: "John Doe",
|
|
617
|
+
},
|
|
618
|
+
group,
|
|
619
|
+
);
|
|
620
|
+
|
|
621
|
+
const account = await createJazzTestAccount({
|
|
622
|
+
isCurrentActiveAccount: true,
|
|
623
|
+
});
|
|
624
|
+
|
|
625
|
+
const { result } = renderHook(
|
|
626
|
+
() => {
|
|
627
|
+
return useCoState(PersonWithName, person.$jazz.id);
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
account,
|
|
631
|
+
},
|
|
632
|
+
);
|
|
633
|
+
|
|
634
|
+
await waitFor(() => {
|
|
635
|
+
expect(result.current).not.toBeNull();
|
|
636
|
+
});
|
|
637
|
+
|
|
638
|
+
assertLoaded(result.current);
|
|
639
|
+
expect(result.current.name.toUpperCase()).toBe("JOHN DOE");
|
|
640
|
+
});
|
|
641
|
+
|
|
642
|
+
it("schema resolve queries can be defined inside React components", async () => {
|
|
643
|
+
const Person = co.map({
|
|
644
|
+
name: co.plainText(),
|
|
645
|
+
});
|
|
646
|
+
const group = Group.create();
|
|
647
|
+
group.addMember("everyone", "writer");
|
|
648
|
+
|
|
649
|
+
const person = Person.create(
|
|
650
|
+
{
|
|
651
|
+
name: "John Doe",
|
|
652
|
+
},
|
|
653
|
+
group,
|
|
654
|
+
);
|
|
655
|
+
|
|
656
|
+
const account = await createJazzTestAccount({
|
|
657
|
+
isCurrentActiveAccount: true,
|
|
658
|
+
});
|
|
659
|
+
|
|
660
|
+
const { result } = renderHook(
|
|
661
|
+
() => {
|
|
662
|
+
// Defining the schema's resolve query inside useCoState
|
|
663
|
+
return useCoState(Person.resolved({ name: true }), person.$jazz.id);
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
account,
|
|
667
|
+
},
|
|
668
|
+
);
|
|
669
|
+
|
|
670
|
+
await waitFor(() => {
|
|
671
|
+
expect(result.current).not.toBeNull();
|
|
672
|
+
});
|
|
673
|
+
|
|
674
|
+
assertLoaded(result.current);
|
|
675
|
+
expect(result.current.name.toUpperCase()).toBe("JOHN DOE");
|
|
676
|
+
});
|
|
677
|
+
|
|
563
678
|
it("should work with branches - create branch, edit and merge", async () => {
|
|
564
679
|
const Person = co.map({
|
|
565
680
|
name: z.string(),
|
|
@@ -605,7 +720,7 @@ describe("useCoState", () => {
|
|
|
605
720
|
|
|
606
721
|
const branchPerson = result.current.branch;
|
|
607
722
|
|
|
608
|
-
|
|
723
|
+
assertLoaded(branchPerson);
|
|
609
724
|
|
|
610
725
|
act(() => {
|
|
611
726
|
branchPerson.$jazz.applyDiff({
|
|
@@ -615,22 +730,31 @@ describe("useCoState", () => {
|
|
|
615
730
|
});
|
|
616
731
|
});
|
|
617
732
|
|
|
733
|
+
const updatedBranchPerson = result.current.branch;
|
|
734
|
+
assertLoaded(updatedBranchPerson);
|
|
735
|
+
|
|
618
736
|
// Verify the branch has the changes
|
|
619
|
-
expect(
|
|
620
|
-
expect(
|
|
621
|
-
expect(
|
|
737
|
+
expect(updatedBranchPerson.name).toBe("John Smith");
|
|
738
|
+
expect(updatedBranchPerson.age).toBe(31);
|
|
739
|
+
expect(updatedBranchPerson.email).toBe("john.smith@example.com");
|
|
740
|
+
|
|
741
|
+
const mainPerson = result.current.main;
|
|
742
|
+
assertLoaded(mainPerson);
|
|
622
743
|
|
|
623
744
|
// Verify the original is unchanged
|
|
624
|
-
expect(
|
|
625
|
-
expect(
|
|
626
|
-
expect(
|
|
745
|
+
expect(mainPerson.name).toBe("John Doe");
|
|
746
|
+
expect(mainPerson.age).toBe(30);
|
|
747
|
+
expect(mainPerson.email).toBe("john@example.com");
|
|
627
748
|
|
|
628
749
|
// Merge the branch back
|
|
629
750
|
await branchPerson.$jazz.unstable_merge();
|
|
630
751
|
|
|
752
|
+
const updatedMainPerson = result.current.main;
|
|
753
|
+
assertLoaded(updatedMainPerson);
|
|
754
|
+
|
|
631
755
|
// Verify the original now has the merged changes
|
|
632
|
-
expect(
|
|
633
|
-
expect(
|
|
634
|
-
expect(
|
|
756
|
+
expect(updatedMainPerson.name).toBe("John Smith");
|
|
757
|
+
expect(updatedMainPerson.age).toBe(31);
|
|
758
|
+
expect(updatedMainPerson.email).toBe("john.smith@example.com");
|
|
635
759
|
});
|
|
636
760
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @vitest-environment happy-dom
|
|
2
2
|
|
|
3
3
|
import { CoMap, Group, Inbox, Loaded, co, z } from "jazz-tools";
|
|
4
|
+
import { assertLoaded } from "jazz-tools/testing";
|
|
4
5
|
import { describe, expect, it } from "vitest";
|
|
5
6
|
import {
|
|
6
7
|
experimental_useInboxSender,
|
|
@@ -63,7 +64,8 @@ describe("useInboxSender", () => {
|
|
|
63
64
|
loadAs: account,
|
|
64
65
|
});
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
assertLoaded(responseMap);
|
|
68
|
+
expect(responseMap.value).toEqual("got it");
|
|
67
69
|
});
|
|
68
70
|
|
|
69
71
|
it("should regenerate the InboxSender if the active account changes", async () => {
|
|
@@ -107,7 +107,7 @@ describe("usePassphraseAuth", () => {
|
|
|
107
107
|
expect(await result.current.signUp()).toBe(passphrase);
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
it("should be able to logout after sign up
|
|
110
|
+
it("should be able to logout after sign up", async () => {
|
|
111
111
|
const account = await createJazzTestAccount({});
|
|
112
112
|
|
|
113
113
|
const accounts: string[] = [];
|
|
@@ -116,92 +116,21 @@ describe("usePassphraseAuth", () => {
|
|
|
116
116
|
const { result } = renderHook(
|
|
117
117
|
() => {
|
|
118
118
|
const passphraseAuth = usePassphraseAuth({ wordlist: testWordlist });
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
if (account.me) {
|
|
122
|
-
if (!accounts.includes(account.me.$jazz.id)) {
|
|
123
|
-
accounts.push(account.me.$jazz.id);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
updates.push({
|
|
127
|
-
state: passphraseAuth.state,
|
|
128
|
-
accountIndex: accounts.indexOf(account.me.$jazz.id),
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return { passphraseAuth, account };
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
account,
|
|
136
|
-
isAuthenticated: false,
|
|
137
|
-
},
|
|
138
|
-
);
|
|
139
|
-
|
|
140
|
-
expect(result.current?.passphraseAuth.state).toBe("anonymous");
|
|
141
|
-
expect(result.current?.account?.me).toBeDefined();
|
|
142
|
-
|
|
143
|
-
const id = result.current?.account?.me?.$jazz.id;
|
|
144
|
-
|
|
145
|
-
await act(async () => {
|
|
146
|
-
await result.current?.passphraseAuth.signUp();
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
expect(result.current?.passphraseAuth.state).toBe("signedIn");
|
|
150
|
-
expect(result.current?.account?.me?.$jazz.id).toBe(id);
|
|
151
|
-
|
|
152
|
-
await act(async () => {
|
|
153
|
-
await result.current?.account?.logOut();
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
expect(result.current?.passphraseAuth.state).toBe("anonymous");
|
|
157
|
-
expect(result.current?.account?.me?.$jazz.id).not.toBe(id);
|
|
158
|
-
|
|
159
|
-
expect(updates).toMatchInlineSnapshot(`
|
|
160
|
-
[
|
|
161
|
-
{
|
|
162
|
-
"accountIndex": 0,
|
|
163
|
-
"state": "anonymous",
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"accountIndex": 0,
|
|
167
|
-
"state": "signedIn",
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
"accountIndex": 0,
|
|
171
|
-
"state": "anonymous",
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
"accountIndex": 1,
|
|
175
|
-
"state": "anonymous",
|
|
176
|
-
},
|
|
177
|
-
]
|
|
178
|
-
`);
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
it("should be able to logout after sign up using useLogout", async () => {
|
|
182
|
-
const account = await createJazzTestAccount({});
|
|
183
|
-
|
|
184
|
-
const accounts: string[] = [];
|
|
185
|
-
const updates: { state: string; accountIndex: number }[] = [];
|
|
186
|
-
|
|
187
|
-
const { result } = renderHook(
|
|
188
|
-
() => {
|
|
189
|
-
const passphraseAuth = usePassphraseAuth({ wordlist: testWordlist });
|
|
190
|
-
const account = useAccount();
|
|
119
|
+
const me = useAccount();
|
|
191
120
|
const logOut = useLogOut();
|
|
192
121
|
|
|
193
|
-
if (
|
|
194
|
-
if (!accounts.includes(
|
|
195
|
-
accounts.push(
|
|
122
|
+
if (me) {
|
|
123
|
+
if (!accounts.includes(me.$jazz.id)) {
|
|
124
|
+
accounts.push(me.$jazz.id);
|
|
196
125
|
}
|
|
197
126
|
|
|
198
127
|
updates.push({
|
|
199
128
|
state: passphraseAuth.state,
|
|
200
|
-
accountIndex: accounts.indexOf(
|
|
129
|
+
accountIndex: accounts.indexOf(me.$jazz.id),
|
|
201
130
|
});
|
|
202
131
|
}
|
|
203
132
|
|
|
204
|
-
return { passphraseAuth,
|
|
133
|
+
return { passphraseAuth, me, logOut };
|
|
205
134
|
},
|
|
206
135
|
{
|
|
207
136
|
account,
|
|
@@ -210,23 +139,23 @@ describe("usePassphraseAuth", () => {
|
|
|
210
139
|
);
|
|
211
140
|
|
|
212
141
|
expect(result.current?.passphraseAuth.state).toBe("anonymous");
|
|
213
|
-
expect(result.current?.
|
|
142
|
+
expect(result.current?.me).toBeDefined();
|
|
214
143
|
|
|
215
|
-
const id = result.current?.
|
|
144
|
+
const id = result.current?.me?.$jazz.id;
|
|
216
145
|
|
|
217
146
|
await act(async () => {
|
|
218
147
|
await result.current?.passphraseAuth.signUp();
|
|
219
148
|
});
|
|
220
149
|
|
|
221
150
|
expect(result.current?.passphraseAuth.state).toBe("signedIn");
|
|
222
|
-
expect(result.current?.
|
|
151
|
+
expect(result.current?.me?.$jazz.id).toBe(id);
|
|
223
152
|
|
|
224
153
|
await act(async () => {
|
|
225
154
|
await result.current?.logOut();
|
|
226
155
|
});
|
|
227
156
|
|
|
228
157
|
expect(result.current?.passphraseAuth.state).toBe("anonymous");
|
|
229
|
-
expect(result.current?.
|
|
158
|
+
expect(result.current?.me?.$jazz.id).not.toBe(id);
|
|
230
159
|
|
|
231
160
|
expect(updates).toMatchInlineSnapshot(`
|
|
232
161
|
[
|