31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
const { test } = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const {
|
|
getAccountGroupStatus,
|
|
getAccountStatusPresentation
|
|
} = require('../renderer/account-status');
|
|
|
|
test('mixed account results use warning group status', () => {
|
|
assert.equal(getAccountGroupStatus({ total: 3, disabled: 0, ok: 2, error: 1, checking: 0, unchecked: 0 }), 'warn');
|
|
});
|
|
|
|
test('group is red only when every active account has an error', () => {
|
|
assert.equal(getAccountGroupStatus({ total: 3, disabled: 0, ok: 0, error: 3, checking: 0, unchecked: 0 }), 'error');
|
|
});
|
|
|
|
test('group is green when every active account is ready', () => {
|
|
assert.equal(getAccountGroupStatus({ total: 3, disabled: 0, ok: 3, error: 0, checking: 0, unchecked: 0 }), 'ok');
|
|
});
|
|
|
|
test('warning-only accounts keep the group orange', () => {
|
|
assert.equal(getAccountGroupStatus({ total: 2, disabled: 0, ok: 0, warn: 2, error: 0, checking: 0, unchecked: 0 }), 'warn');
|
|
});
|
|
|
|
test('OTP-required account exposes warning presentation', () => {
|
|
assert.deepEqual(getAccountStatusPresentation('otp_required'), {
|
|
statusClass: 'warn',
|
|
label: 'OTP erforderlich',
|
|
requiresOtp: true
|
|
});
|
|
});
|