* Move secureApi to shell
* Extract isTestnet test
* Use mobx + subscriptions for status
* Re-add status indicator
* Add lerna
* Move intial packages to js/packages
* Move 3rdparty/{email,sms}-verification to correct location
* Move package.json & README to library src
* Move tests for library packages
* Move views & dapps to packages
* Move i18n to root
* Move shell to actual src (main app)
* Remove ~ references
* Change ~ to root (explicit imports)
* Finalise convert of ~
* Move views into dapps as well
* Move dapps to packages/
* Fix references
* Update css
* Update test spec locations
* Update tests
* Case fix
* Skip flakey tests
* Update enzyme
* Skip previously ignored tests
* Allow empty api for hw
* Re-add theme for embed
68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
// Copyright 2015-2017 Parity Technologies (UK) Ltd.
|
|
// This file is part of Parity.
|
|
|
|
// Parity is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// Parity is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
import defaults, { FEATURES, MODES } from './defaults';
|
|
|
|
const features = Object.values(FEATURES);
|
|
const modes = Object.values(MODES);
|
|
|
|
describe('ui/Features/Defaults', () => {
|
|
describe('feature codes', () => {
|
|
Object.keys(FEATURES).forEach((key) => {
|
|
describe(key, () => {
|
|
let value;
|
|
|
|
beforeEach(() => {
|
|
value = FEATURES[key];
|
|
});
|
|
|
|
it('exists as an default', () => {
|
|
expect(defaults[value]).to.be.ok;
|
|
});
|
|
|
|
it('has a single unique code', () => {
|
|
expect(features.filter((code) => code === value).length).to.equal(1);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('defaults', () => {
|
|
Object.keys(defaults).forEach((key) => {
|
|
describe(key, () => {
|
|
let value;
|
|
|
|
beforeEach(() => {
|
|
value = defaults[key];
|
|
});
|
|
|
|
it('exists as an exposed feature', () => {
|
|
expect(features.includes(key)).to.be.ok;
|
|
});
|
|
|
|
it('has a valid mode', () => {
|
|
expect(modes.includes(value.mode)).to.be.true;
|
|
});
|
|
|
|
it('has a name and description', () => {
|
|
expect(value.description).to.be.ok;
|
|
expect(value.name).to.be.ok;
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|