Skip to content

Commit 720e1d5

Browse files
authored
Move tests alongside code under test (#354)
All unit tests have been moved alongside the module under test. This pattern is generally preferred by the team, and matches how tests are organized in both the extension and mobile repos.
1 parent 9585505 commit 720e1d5

25 files changed

+64
-61
lines changed

tests/BaseController.test.ts renamed to src/BaseController.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { stub } from 'sinon';
2-
import BaseController, { BaseConfig, BaseState } from '../src/BaseController';
3-
import ComposableController from '../src/ComposableController';
2+
import BaseController, { BaseConfig, BaseState } from './BaseController';
3+
import ComposableController from './ComposableController';
44

55
const STATE = { name: 'foo' };
66
const CONFIG = { disabled: true };

tests/ComposableController.test.ts renamed to src/ComposableController.test.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { stub } from 'sinon';
2-
import AddressBookController from '../src/user/AddressBookController';
3-
import EnsController from '../src/third-party/EnsController';
4-
import ComposableController from '../src/ComposableController';
5-
import PreferencesController from '../src/user/PreferencesController';
6-
import TokenRatesController from '../src/assets/TokenRatesController';
7-
import { AssetsController } from '../src/assets/AssetsController';
8-
import { NetworkController, NetworksChainId } from '../src/network/NetworkController';
9-
import { AssetsContractController } from '../src/assets/AssetsContractController';
10-
import CurrencyRateController from '../src/assets/CurrencyRateController';
2+
import AddressBookController from './user/AddressBookController';
3+
import EnsController from './third-party/EnsController';
4+
import ComposableController from './ComposableController';
5+
import PreferencesController from './user/PreferencesController';
6+
import TokenRatesController from './assets/TokenRatesController';
7+
import { AssetsController } from './assets/AssetsController';
8+
import { NetworkController, NetworksChainId } from './network/NetworkController';
9+
import { AssetsContractController } from './assets/AssetsContractController';
10+
import CurrencyRateController from './assets/CurrencyRateController';
1111

1212
describe('ComposableController', () => {
1313
it('should compose controller state', () => {

tests/ApprovalController.test.js renamed to src/approval/ApprovalController.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const { errorCodes } = require('eth-rpc-errors');
2-
const ApprovalController = require('../src/approval/ApprovalController').default;
2+
const ApprovalController = require('./ApprovalController').default;
33

44
const defaultConfig = {
55
showApprovalRequest: () => undefined,

tests/ApprovalController.test.ts renamed to src/approval/ApprovalController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { errorCodes } from 'eth-rpc-errors';
2-
import ApprovalController from '../src/approval/ApprovalController';
2+
import ApprovalController from './ApprovalController';
33

44
const sinon = require('sinon');
55

tests/AccountTrackerController.test.ts renamed to src/assets/AccountTrackerController.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { stub, spy } from 'sinon';
2-
import AccountTrackerController from '../src/assets/AccountTrackerController';
3-
import PreferencesController from '../src/user/PreferencesController';
4-
import ComposableController from '../src/ComposableController';
2+
import PreferencesController from '../user/PreferencesController';
3+
import ComposableController from '../ComposableController';
4+
import AccountTrackerController from './AccountTrackerController';
55

66
const HttpProvider = require('ethjs-provider-http');
77

tests/AssetsContractController.test.ts renamed to src/assets/AssetsContractController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { AssetsContractController } from '../src/assets/AssetsContractController';
1+
import { AssetsContractController } from './AssetsContractController';
22

33
const HttpProvider = require('ethjs-provider-http');
44

tests/AssetsController.test.ts renamed to src/assets/AssetsController.test.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { createSandbox } from 'sinon';
22
import * as nock from 'nock';
3-
import AssetsController from '../src/assets/AssetsController';
4-
import ComposableController from '../src/ComposableController';
5-
import PreferencesController from '../src/user/PreferencesController';
6-
import { NetworkController, NetworksChainId } from '../src/network/NetworkController';
7-
import { AssetsContractController } from '../src/assets/AssetsContractController';
3+
import ComposableController from '../ComposableController';
4+
import PreferencesController from '../user/PreferencesController';
5+
import { NetworkController, NetworksChainId } from '../network/NetworkController';
6+
import { AssetsContractController } from './AssetsContractController';
7+
import AssetsController from './AssetsController';
88

99
const HttpProvider = require('ethjs-provider-http');
1010

tests/AssetsDetectionController.test.ts renamed to src/assets/AssetsDetectionController.test.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { createSandbox, stub } from 'sinon';
22
import * as nock from 'nock';
3-
import { AssetsDetectionController } from '../src/assets/AssetsDetectionController';
4-
import { NetworkController, NetworksChainId } from '../src/network/NetworkController';
5-
import { PreferencesController } from '../src/user/PreferencesController';
6-
import { ComposableController } from '../src/ComposableController';
7-
import { AssetsController } from '../src/assets/AssetsController';
8-
import { AssetsContractController } from '../src/assets/AssetsContractController';
3+
import { NetworkController, NetworksChainId } from '../network/NetworkController';
4+
import { PreferencesController } from '../user/PreferencesController';
5+
import { ComposableController } from '../ComposableController';
6+
import { AssetsController } from './AssetsController';
7+
import { AssetsContractController } from './AssetsContractController';
8+
import { AssetsDetectionController } from './AssetsDetectionController';
99

1010
const { BN } = require('ethereumjs-util');
1111

tests/CurrencyRateController.test.ts renamed to src/assets/CurrencyRateController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'isomorphic-fetch';
22
import { stub } from 'sinon';
33
import * as nock from 'nock';
4-
import CurrencyRateController from '../src/assets/CurrencyRateController';
4+
import CurrencyRateController from './CurrencyRateController';
55

66
describe('CurrencyRateController', () => {
77
beforeEach(() => {

tests/TokenBalancesController.test.ts renamed to src/assets/TokenBalancesController.test.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { createSandbox, stub } from 'sinon';
2-
import ComposableController from '../src/ComposableController';
3-
import TokenBalancesController from '../src/assets/TokenBalancesController';
4-
import { AssetsController } from '../src/assets/AssetsController';
5-
import { Token } from '../src/assets/TokenRatesController';
6-
import { AssetsContractController } from '../src/assets/AssetsContractController';
7-
import { NetworkController } from '../src/network/NetworkController';
8-
import { PreferencesController } from '../src/user/PreferencesController';
2+
import ComposableController from '../ComposableController';
3+
import { NetworkController } from '../network/NetworkController';
4+
import { PreferencesController } from '../user/PreferencesController';
5+
import { AssetsController } from './AssetsController';
6+
import { Token } from './TokenRatesController';
7+
import { AssetsContractController } from './AssetsContractController';
8+
import TokenBalancesController from './TokenBalancesController';
99

1010
const { BN } = require('ethereumjs-util');
1111
const HttpProvider = require('ethjs-provider-http');

tests/TokenRatesController.test.ts renamed to src/assets/TokenRatesController.test.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { stub } from 'sinon';
22
import * as nock from 'nock';
3-
import ComposableController from '../src/ComposableController';
4-
import TokenRatesController, { Token } from '../src/assets/TokenRatesController';
5-
import { AssetsController } from '../src/assets/AssetsController';
6-
import { PreferencesController } from '../src/user/PreferencesController';
7-
import { NetworkController } from '../src/network/NetworkController';
8-
import { AssetsContractController } from '../src/assets/AssetsContractController';
9-
import CurrencyRateController from '../src/assets/CurrencyRateController';
3+
import ComposableController from '../ComposableController';
4+
import { PreferencesController } from '../user/PreferencesController';
5+
import { NetworkController } from '../network/NetworkController';
6+
import TokenRatesController, { Token } from './TokenRatesController';
7+
import { AssetsController } from './AssetsController';
8+
import { AssetsContractController } from './AssetsContractController';
9+
import CurrencyRateController from './CurrencyRateController';
1010

1111
const COINGECKO_HOST = 'https://api.coingecko.com';
1212
const COINGECKO_PATH = '/api/v3/simple/token_price/ethereum';

tests/KeyringController.test.ts renamed to src/keyring/KeyringController.test.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import {
66
recoverTypedSignatureLegacy,
77
} from 'eth-sig-util';
88
import { stub } from 'sinon';
9-
import KeyringController, { Keyring, KeyringConfig } from '../src/keyring/KeyringController';
10-
import PreferencesController from '../src/user/PreferencesController';
11-
import ComposableController from '../src/ComposableController';
9+
import PreferencesController from '../user/PreferencesController';
10+
import ComposableController from '../ComposableController';
11+
import KeyringController, { Keyring, KeyringConfig } from './KeyringController';
1212

1313
const Transaction = require('ethereumjs-tx');
14-
const mockEncryptor: any = require('./utils/mockEncryptor');
14+
const mockEncryptor: any = require('../../tests/mocks/mockEncryptor');
1515

1616
const input =
1717
'{"version":3,"id":"534e0199-53f6-41a9-a8fe-d504702ee5e8","address":"b97c80fab7a3793bbe746864db80d236f1345ea7",' +

tests/AbstractMessageManager.test.ts renamed to src/message-manager/AbstractMessageManager.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import {
22
TypedMessage,
33
TypedMessageParams,
44
TypedMessageParamsMetamask,
5-
} from '../src/message-manager/TypedMessageManager';
6-
import AbstractMessageManager from '../src/message-manager/AbstractMessageManager';
5+
} from './TypedMessageManager';
6+
import AbstractMessageManager from './AbstractMessageManager';
77

88
class AbstractTestManager extends AbstractMessageManager<TypedMessage, TypedMessageParams, TypedMessageParamsMetamask> {
99
prepMessageForSigning(messageParams: TypedMessageParamsMetamask): Promise<TypedMessageParams> {

tests/MessageManager.test.ts renamed to src/message-manager/MessageManager.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import MessageManager from '../src/message-manager/MessageManager';
1+
import MessageManager from './MessageManager';
22

33
describe('PersonalMessageManager', () => {
44
it('should set default state', () => {

tests/PersonalMessageManager.test.ts renamed to src/message-manager/PersonalMessageManager.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import PersonalMessageManager from '../src/message-manager/PersonalMessageManager';
1+
import PersonalMessageManager from './PersonalMessageManager';
22

33
describe('PersonalMessageManager', () => {
44
it('should set default state', () => {

tests/TypedMessageManager.test.ts renamed to src/message-manager/TypedMessageManager.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import TypedMessageManager from '../src/message-manager/TypedMessageManager';
1+
import TypedMessageManager from './TypedMessageManager';
22

33
const typedMessage = [
44
{

tests/NetworkController.test.ts renamed to src/network/NetworkController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { stub } from 'sinon';
2-
import NetworkController, { NetworksChainId, ProviderConfig } from '../src/network/NetworkController';
2+
import NetworkController, { NetworksChainId, ProviderConfig } from './NetworkController';
33

44
const Web3ProviderEngine = require('web3-provider-engine');
55

tests/EnsController.test.ts renamed to src/third-party/EnsController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { toChecksumAddress } from 'ethereumjs-util';
22

3-
import EnsController from '../src/third-party/EnsController';
3+
import EnsController from './EnsController';
44

55
const address1 = '0x32Be343B94f860124dC4fEe278FDCBD38C102D88';
66
const address2 = '0xc38bf1ad06ef69f0c04e29dbeb4152b4175f0a8d';

tests/PhishingController.test.ts renamed to src/third-party/PhishingController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { stub } from 'sinon';
22
import * as nock from 'nock';
3-
import PhishingController from '../src/third-party/PhishingController';
3+
import PhishingController from './PhishingController';
44

55
describe('PhishingController', () => {
66
afterEach(() => {

tests/TransactionController.test.ts renamed to src/transaction/TransactionController.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { stub } from 'sinon';
2-
import { NetworksChainId } from '../src/network/NetworkController';
3-
import TransactionController from '../src/transaction/TransactionController';
2+
import { NetworksChainId } from '../network/NetworkController';
3+
import TransactionController from './TransactionController';
44

55
const globalAny: any = global;
66

tests/AddressBookController.test.ts renamed to src/user/AddressBookController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import AddressBookController from '../src/user/AddressBookController';
1+
import AddressBookController from './AddressBookController';
22

33
describe('AddressBookController', () => {
44
it('should set default state', () => {

tests/PreferencesController.test.ts renamed to src/user/PreferencesController.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import PreferencesController from '../src/user/PreferencesController';
1+
import PreferencesController from './PreferencesController';
22

33
describe('PreferencesController', () => {
44
it('should set default state', () => {

tests/util.test.ts renamed to src/util.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'isomorphic-fetch';
22
import * as nock from 'nock';
33

4-
import * as util from '../src/util';
4+
import * as util from './util';
55

66
const { BN } = require('ethereumjs-util');
77

File renamed without changes.

tsconfig.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
"target": "es6"
1818
},
1919
"include": [
20-
"./src/**/*.ts"
20+
"src/**/*.ts"
21+
],
22+
"exclude": [
23+
"**/*.test.ts"
2124
]
2225
}

0 commit comments

Comments
 (0)