feat: signal server tag
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import { firstValueFrom, of } from 'rxjs';
|
||||
import {
|
||||
describe,
|
||||
expect,
|
||||
it
|
||||
} from 'vitest';
|
||||
|
||||
import { UsersActions } from '../../../../store/users/users.actions';
|
||||
import { waitForAuthenticationOutcome } from './auth-navigation.rules';
|
||||
|
||||
describe('waitForAuthenticationOutcome', () => {
|
||||
it('resolves when authentication storage preparation succeeds', async () => {
|
||||
const user = {
|
||||
id: 'user-1',
|
||||
oderId: 'user-1',
|
||||
username: 'alice',
|
||||
displayName: 'Alice',
|
||||
status: 'online' as const,
|
||||
role: 'member' as const,
|
||||
joinedAt: 1
|
||||
};
|
||||
const outcome = await firstValueFrom(waitForAuthenticationOutcome(of(
|
||||
UsersActions.setCurrentUser({ user })
|
||||
)));
|
||||
|
||||
expect(outcome).toEqual({ kind: 'success', user });
|
||||
});
|
||||
|
||||
it('resolves with a failure when authentication storage preparation fails', async () => {
|
||||
const outcome = await firstValueFrom(waitForAuthenticationOutcome(of(
|
||||
UsersActions.loadCurrentUserFailure({ error: 'Failed to prepare local user state.' })
|
||||
)));
|
||||
|
||||
expect(outcome).toEqual({
|
||||
kind: 'failure',
|
||||
error: 'Failed to prepare local user state.'
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user