const test = require('ava'); const selectors = require('@state/selectors'); const { accountSelector, orgByIdSelector // orgsSelector, // orgSectionsSelector, // projectsByOrgIdSelector } = selectors; test('accountSelector with empty input', (t) => { t.deepEqual(accountSelector(), {}); t.deepEqual(accountSelector({ account: undefined }), {}); t.deepEqual(accountSelector({ account: {} }), {}); t.deepEqual(accountSelector({ account: { data: undefined } }), {}); t.deepEqual(accountSelector({ account: { data: {} } }), {}); }); test('accountSelector with attrs', (t) => { t.deepEqual(accountSelector({ account: { data: { id: '[id]', uuid: '[uuid]' } } }), { id: '[id]', uuid: '[uuid]' }); }); test('orgByIdSelector with empty input', (t) => { t.deepEqual(orgByIdSelector()(), undefined); t.deepEqual(orgByIdSelector()({ orgs: undefined }), undefined); t.deepEqual(orgByIdSelector()({ orgs: {} }), undefined); t.deepEqual(orgByIdSelector()({ orgs: { data: undefined } }), undefined); t.deepEqual(orgByIdSelector()({ orgs: { data: {} } }), undefined); }); test('orgByIdSelector should find org', (t) => { const orgs = [{ id: '1' }, { id: '2' }, { id: '3' }]; t.deepEqual(orgByIdSelector('1')({ orgs: { data: orgs } }), { id: '1' }); t.deepEqual(orgByIdSelector('2')({ orgs: { data: orgs } }), { id: '2' }); t.deepEqual(orgByIdSelector('4')({ orgs: { data: orgs } }), undefined); });