Unified · Split
| @@ -46,11 +46,10 @@ scenario( · 45 unmodified lines | ||
| 46 | 46 | const decoded = decodeLoginState( |
| 47 | 47 | Result.getOrElse(Encoding.decodeBase64UrlString(state), () => ""), |
| 48 | 48 | ); |
| 49 | − expect(decoded._tag, "the state decodes as our login-state envelope").toBe("Some"); | |
| 50 | − expect( | |
| 51 | − decoded._tag === "Some" ? decoded.value.nonce : "", | |
| 52 | − "the state carries an unguessable CSRF nonce", | |
| 53 | − ).toMatch(/^[0-9a-f]{64}$/); | |
| 49 | + expect(Option.isSome(decoded), "the state decodes as our login-state envelope").toBe(true); | |
| 50 | + expect(Option.getOrThrow(decoded).nonce, "the state carries an unguessable CSRF nonce").toMatch( | |
| 51 | + /^[0-9a-f]{64}$/, | |
| 52 | + ); | |
| 54 | 53 | expect( |
| 55 | 54 | authorizeUrl.searchParams.get("redirect_uri"), |
| 56 | 55 | "AuthKit is told to come back to this deployment's callback", |
| @@ -84,7 +83,7 @@ scenario( · 27 unmodified lines | ||
| 84 | 83 | const decoded = decodeLoginState( |
| 85 | 84 | Result.getOrElse(Encoding.decodeBase64UrlString(state), () => ""), |
| 86 | 85 | ); |
| 87 | − expect(decoded._tag).toBe("Some"); | |
| 86 | + expect(Option.isSome(decoded)).toBe(true); | |
| 88 | 87 | expect(Option.getOrThrow(decoded).returnTo).toBeUndefined(); |
| 89 | 88 | } |
| 90 | 89 | }), |