Release Twitch VOD Manager 1.0.18
Harden update, system-check, queue, cutter, streamer and shutdown state transitions. Add multi-user installer recovery, secret-safe config migration, provider fallback handling, managed-tool validation and real media export coverage. Refresh the English public documentation, release notes and 1.0.18 product screenshot.
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { parseGraphqlDataEnvelope, parseGraphqlUser, parseHelixDataArray } from './provider-payload';
|
||||
|
||||
describe('provider payload semantics', () => {
|
||||
it('accepts only an explicit object-valued GraphQL data envelope', () => {
|
||||
expect(parseGraphqlDataEnvelope({ data: { user: null } })).toEqual({ status: 'success', value: { user: null } });
|
||||
expect(parseGraphqlDataEnvelope({})).toEqual({ status: 'unavailable' });
|
||||
expect(parseGraphqlDataEnvelope({ data: null })).toEqual({ status: 'unavailable' });
|
||||
expect(parseGraphqlDataEnvelope('<html>failure</html>')).toEqual({ status: 'unavailable' });
|
||||
});
|
||||
|
||||
it('distinguishes an explicit missing GraphQL user from a malformed response', () => {
|
||||
expect(parseGraphqlUser({ user: null })).toEqual({ status: 'not-found' });
|
||||
expect(parseGraphqlUser({ user: { id: '1' } })).toEqual({ status: 'success', value: { id: '1' } });
|
||||
expect(parseGraphqlUser({})).toEqual({ status: 'unavailable' });
|
||||
expect(parseGraphqlUser({ user: 'invalid' })).toEqual({ status: 'unavailable' });
|
||||
});
|
||||
|
||||
it('accepts an explicit empty Helix data array without accepting missing data', () => {
|
||||
expect(parseHelixDataArray({ data: [] })).toEqual({ status: 'success', value: [] });
|
||||
expect(parseHelixDataArray({})).toEqual({ status: 'unavailable' });
|
||||
expect(parseHelixDataArray({ data: null })).toEqual({ status: 'unavailable' });
|
||||
expect(parseHelixDataArray({ data: {} })).toEqual({ status: 'unavailable' });
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user