test: cover post-merge gaps in utils, services, and hooks
All checks were successful
CI / verify (push) Successful in 59s
All checks were successful
CI / verify (push) Successful in 59s
Adds specs for the files added or modified in the recent merge that
weren't yet covered: oauthReturnPath, withATProtoImages, link,
displayLanguage, and the useGitHubContent / useImageUpload /
useNoteFreshness hooks. Locks in the new pullLatest contract
({raw, failureStatus}) and the fetchLatestSha branch semantics
(ok/unauthorized/offline).
This commit is contained in:
30
src/modules/user/service/oauthReturnPath.spec.ts
Normal file
30
src/modules/user/service/oauthReturnPath.spec.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { beforeEach, describe, expect, it } from "vitest"
|
||||
|
||||
import {
|
||||
consumeGithubOAuthReturnPath,
|
||||
GITHUB_OAUTH_RETURN_PATH_KEY
|
||||
} from "./oauthReturnPath"
|
||||
|
||||
describe("consumeGithubOAuthReturnPath", () => {
|
||||
beforeEach(() => {
|
||||
sessionStorage.clear()
|
||||
})
|
||||
|
||||
it("returns the stored path and clears the key", () => {
|
||||
sessionStorage.setItem(GITHUB_OAUTH_RETURN_PATH_KEY, "/alice/notes")
|
||||
|
||||
expect(consumeGithubOAuthReturnPath()).toBe("/alice/notes")
|
||||
expect(sessionStorage.getItem(GITHUB_OAUTH_RETURN_PATH_KEY)).toBeNull()
|
||||
})
|
||||
|
||||
it("returns null when nothing is stored", () => {
|
||||
expect(consumeGithubOAuthReturnPath()).toBeNull()
|
||||
})
|
||||
|
||||
it("returns null on the second call (consume-once semantics)", () => {
|
||||
sessionStorage.setItem(GITHUB_OAUTH_RETURN_PATH_KEY, "/x")
|
||||
|
||||
expect(consumeGithubOAuthReturnPath()).toBe("/x")
|
||||
expect(consumeGithubOAuthReturnPath()).toBeNull()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user