diff options
Diffstat (limited to 'packages/pipeline/test')
41 files changed, 0 insertions, 4247 deletions
diff --git a/packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts b/packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts deleted file mode 100644 index 06f1a5e86..000000000 --- a/packages/pipeline/test/data_sources/contract-wrappers/utils_test.ts +++ /dev/null @@ -1,109 +0,0 @@ -// tslint:disable:custom-no-magic-numbers -import * as chai from 'chai'; -import { LogWithDecodedArgs } from 'ethereum-types'; -import 'mocha'; - -import { _getEventsWithRetriesAsync } from '../../../src/data_sources/contract-wrappers/utils'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -const retryableMessage = 'network timeout: (simulated network timeout error)'; -const retryableError = new Error(retryableMessage); - -describe('data_sources/contract-wrappers/utils', () => { - describe('_getEventsWithRetriesAsync', () => { - it('sends a single request if it was successful', async () => { - // Pre-declare values for the fromBlock and toBlock arguments. - const expectedFromBlock = 100; - const expectedToBlock = 200; - const expectedLogs: Array<LogWithDecodedArgs<any>> = [ - { - logIndex: 123, - transactionIndex: 456, - transactionHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe', - blockHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657ff', - blockNumber: 789, - address: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd3365800', - data: 'fake raw data', - topics: [], - event: 'TEST_EVENT', - args: [1, 2, 3], - }, - ]; - - // mockGetEventsAsync checks its arguments, increments `callCount` - // and returns `expectedLogs`. - let callCount = 0; - const mockGetEventsAsync = async ( - fromBlock: number, - toBlock: number, - ): Promise<Array<LogWithDecodedArgs<any>>> => { - expect(fromBlock).equals(expectedFromBlock); - expect(toBlock).equals(expectedToBlock); - callCount += 1; - return expectedLogs; - }; - - // Make sure that we get what we expected and that the mock function - // was called exactly once. - const gotLogs = await _getEventsWithRetriesAsync(mockGetEventsAsync, 3, expectedFromBlock, expectedToBlock); - expect(gotLogs).deep.equals(expectedLogs); - expect(callCount).equals( - 1, - 'getEventsAsync function was called more than once even though it was successful', - ); - }); - it('retries and eventually succeeds', async () => { - const numRetries = 5; - let callCount = 0; - // mockGetEventsAsync throws unless callCount == numRetries + 1. - const mockGetEventsAsync = async ( - _fromBlock: number, - _toBlock: number, - ): Promise<Array<LogWithDecodedArgs<any>>> => { - callCount += 1; - if (callCount === numRetries + 1) { - return []; - } - throw retryableError; - }; - await _getEventsWithRetriesAsync(mockGetEventsAsync, numRetries, 100, 300); - expect(callCount).equals(numRetries + 1, 'getEventsAsync function was called the wrong number of times'); - }); - it('throws for non-retryable errors', async () => { - const numRetries = 5; - const expectedMessage = 'Non-retryable error'; - // mockGetEventsAsync always throws a non-retryable error. - const mockGetEventsAsync = async ( - _fromBlock: number, - _toBlock: number, - ): Promise<Array<LogWithDecodedArgs<any>>> => { - throw new Error(expectedMessage); - }; - // Note(albrow): This does actually return a promise (or at least a - // "promise-like object" and is a false positive in TSLint. - // tslint:disable-next-line:await-promise - await expect(_getEventsWithRetriesAsync(mockGetEventsAsync, numRetries, 100, 300)).to.be.rejectedWith( - expectedMessage, - ); - }); - it('throws after too many retries', async () => { - const numRetries = 5; - // mockGetEventsAsync always throws a retryable error. - const mockGetEventsAsync = async ( - _fromBlock: number, - _toBlock: number, - ): Promise<Array<LogWithDecodedArgs<any>>> => { - throw retryableError; - }; - // Note(albrow): This does actually return a promise (or at least a - // "promise-like object" and is a false positive in TSLint. - // tslint:disable-next-line:await-promise - await expect(_getEventsWithRetriesAsync(mockGetEventsAsync, numRetries, 100, 300)).to.be.rejectedWith( - retryableMessage, - ); - }); - }); -}); diff --git a/packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts b/packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts deleted file mode 100644 index 2efe3f5ec..000000000 --- a/packages/pipeline/test/data_sources/ohlcv_external/crypto_compare_test.ts +++ /dev/null @@ -1,47 +0,0 @@ -import * as chai from 'chai'; -import 'mocha'; -import * as R from 'ramda'; - -import { CryptoCompareOHLCVSource } from '../../../src/data_sources/ohlcv_external/crypto_compare'; -import { TradingPair } from '../../../src/utils/get_ohlcv_trading_pairs'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('ohlcv_external data source (Crypto Compare)', () => { - describe('generateBackfillIntervals', () => { - it('generates pairs with intervals to query', () => { - const source = new CryptoCompareOHLCVSource(20); - const pair: TradingPair = { - fromSymbol: 'ETH', - toSymbol: 'ZRX', - latestSavedTime: new Date().getTime() - source.interval * 2, - }; - - const expected = [ - pair, - R.merge(pair, { latestSavedTime: pair.latestSavedTime + source.interval }), - R.merge(pair, { latestSavedTime: pair.latestSavedTime + source.interval * 2 }), - ]; - - const actual = source.generateBackfillIntervals(pair); - expect(actual).deep.equal(expected); - }); - - it('returns single pair if no backfill is needed', () => { - const source = new CryptoCompareOHLCVSource(20); - const pair: TradingPair = { - fromSymbol: 'ETH', - toSymbol: 'ZRX', - latestSavedTime: new Date().getTime() - source.interval + 5000, - }; - - const expected = [pair]; - - const actual = source.generateBackfillIntervals(pair); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/db_global_hooks.ts b/packages/pipeline/test/db_global_hooks.ts deleted file mode 100644 index dfee02c45..000000000 --- a/packages/pipeline/test/db_global_hooks.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { setUpDbAsync, tearDownDbAsync } from './db_setup'; - -before('set up database', async () => { - await setUpDbAsync(); -}); - -after('tear down database', async () => { - await tearDownDbAsync(); -}); diff --git a/packages/pipeline/test/db_setup.ts b/packages/pipeline/test/db_setup.ts deleted file mode 100644 index bf31d15b6..000000000 --- a/packages/pipeline/test/db_setup.ts +++ /dev/null @@ -1,174 +0,0 @@ -import * as Docker from 'dockerode'; -import * as fs from 'fs'; -import * as R from 'ramda'; -import { Connection, ConnectionOptions, createConnection } from 'typeorm'; - -import * as ormConfig from '../src/ormconfig'; - -// The name of the image to pull and use for the container. This also affects -// which version of Postgres we use. -const DOCKER_IMAGE_NAME = 'postgres:11-alpine'; -// The name to use for the Docker container which will run Postgres. -const DOCKER_CONTAINER_NAME = '0x_pipeline_postgres_test'; -// The port which will be exposed on the Docker container. -const POSTGRES_HOST_PORT = '15432'; -// Number of milliseconds to wait for postgres to finish initializing after -// starting the docker container. -const POSTGRES_SETUP_DELAY_MS = 5000; - -/** - * Sets up the database for testing purposes. If the - * ZEROEX_DATA_PIPELINE_TEST_DB_URL env var is specified, it will create a - * connection using that url. Otherwise it will spin up a new Docker container - * with a Postgres database and then create a connection to that database. - */ -export async function setUpDbAsync(): Promise<void> { - const connection = await createDbConnectionOnceAsync(); - await connection.runMigrations({ transaction: true }); -} - -/** - * Tears down the database used for testing. This completely destroys any data. - * If a docker container was created, it destroys that container too. - */ -export async function tearDownDbAsync(): Promise<void> { - const connection = await createDbConnectionOnceAsync(); - for (const _ of connection.migrations) { - await connection.undoLastMigration({ transaction: true }); - } - if (needsDocker()) { - const docker = initDockerOnce(); - const postgresContainer = docker.getContainer(DOCKER_CONTAINER_NAME); - await postgresContainer.kill(); - await postgresContainer.remove(); - } -} - -let savedConnection: Connection; - -/** - * The first time this is run, it creates and returns a new TypeORM connection. - * Each subsequent time, it returns the existing connection. This is helpful - * because only one TypeORM connection can be active at a time. - */ -export async function createDbConnectionOnceAsync(): Promise<Connection> { - if (savedConnection !== undefined) { - return savedConnection; - } - - if (needsDocker()) { - await initContainerAsync(); - } - const testDbUrl = - process.env.ZEROEX_DATA_PIPELINE_TEST_DB_URL || - `postgresql://postgres@localhost:${POSTGRES_HOST_PORT}/postgres`; - const testOrmConfig = R.merge(ormConfig, { url: testDbUrl }) as ConnectionOptions; - - savedConnection = await createConnection(testOrmConfig); - return savedConnection; -} - -async function sleepAsync(ms: number): Promise<{}> { - return new Promise<{}>(resolve => setTimeout(resolve, ms)); -} - -let savedDocker: Docker; - -function initDockerOnce(): Docker { - if (savedDocker !== undefined) { - return savedDocker; - } - - // Note(albrow): Code for determining the right socket path is partially - // based on https://github.com/apocas/dockerode/blob/8f3aa85311fab64d58eca08fef49aa1da5b5f60b/test/spec_helper.js - const isWin = require('os').type() === 'Windows_NT'; - const socketPath = process.env.DOCKER_SOCKET || (isWin ? '//./pipe/docker_engine' : '/var/run/docker.sock'); - const isSocket = fs.existsSync(socketPath) ? fs.statSync(socketPath).isSocket() : false; - if (!isSocket) { - throw new Error(`Failed to connect to Docker using socket path: "${socketPath}". - -The database integration tests need to be able to connect to a Postgres database. Make sure that Docker is running and accessible at the expected socket path. If Docker isn't working you have two options: - - 1) Set the DOCKER_SOCKET environment variable to a socket path that can be used to connect to Docker or - 2) Set the ZEROEX_DATA_PIPELINE_TEST_DB_URL environment variable to connect directly to an existing Postgres database instead of trying to start Postgres via Docker -`); - } - savedDocker = new Docker({ - socketPath, - }); - return savedDocker; -} - -// Creates the container, waits for it to initialize, and returns it. -async function initContainerAsync(): Promise<Docker.Container> { - const docker = initDockerOnce(); - - // Tear down any existing containers with the same name. - await tearDownExistingContainerIfAnyAsync(); - - // Pull the image we need. - await pullImageAsync(docker, DOCKER_IMAGE_NAME); - - // Create the container. - const postgresContainer = await docker.createContainer({ - name: DOCKER_CONTAINER_NAME, - Image: DOCKER_IMAGE_NAME, - ExposedPorts: { - '5432': {}, - }, - HostConfig: { - PortBindings: { - '5432': [ - { - HostPort: POSTGRES_HOST_PORT, - }, - ], - }, - }, - }); - await postgresContainer.start(); - await sleepAsync(POSTGRES_SETUP_DELAY_MS); - return postgresContainer; -} - -async function tearDownExistingContainerIfAnyAsync(): Promise<void> { - const docker = initDockerOnce(); - - // Check if a container with the desired name already exists. If so, this - // probably means we didn't clean up properly on the last test run. - const existingContainer = docker.getContainer(DOCKER_CONTAINER_NAME); - if (existingContainer != null) { - try { - await existingContainer.kill(); - } catch { - // If this fails, it's fine. The container was probably already - // killed. - } - try { - await existingContainer.remove(); - } catch { - // If this fails, it's fine. The container was probably already - // removed. - } - } -} - -function needsDocker(): boolean { - return process.env.ZEROEX_DATA_PIPELINE_TEST_DB_URL === undefined; -} - -// Note(albrow): This is partially based on -// https://stackoverflow.com/questions/38258263/how-do-i-wait-for-a-pull -async function pullImageAsync(docker: Docker, imageName: string): Promise<void> { - return new Promise<void>((resolve, reject) => { - docker.pull(imageName, {}, (err, stream) => { - if (err != null) { - reject(err); - return; - } - docker.modem.followProgress(stream, () => { - resolve(); - }); - }); - }); -} diff --git a/packages/pipeline/test/entities/block_test.ts b/packages/pipeline/test/entities/block_test.ts deleted file mode 100644 index 503f284f0..000000000 --- a/packages/pipeline/test/entities/block_test.ts +++ /dev/null @@ -1,23 +0,0 @@ -import 'mocha'; -import 'reflect-metadata'; - -import { Block } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -// tslint:disable:custom-no-magic-numbers -describe('Block entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const block = new Block(); - block.hash = '0x12345'; - block.number = 1234567; - block.timestamp = 5432154321; - const blocksRepository = connection.getRepository(Block); - await testSaveAndFindEntityAsync(blocksRepository, block); - }); -}); diff --git a/packages/pipeline/test/entities/copper_test.ts b/packages/pipeline/test/entities/copper_test.ts deleted file mode 100644 index 2543364e6..000000000 --- a/packages/pipeline/test/entities/copper_test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import 'mocha'; -import 'reflect-metadata'; - -import { - CopperActivity, - CopperActivityType, - CopperCustomField, - CopperLead, - CopperOpportunity, -} from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { - ParsedActivities, - ParsedActivityTypes, - ParsedCustomFields, - ParsedLeads, - ParsedOpportunities, -} from '../fixtures/copper/parsed_entities'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -describe('Copper entities', () => { - describe('save and find', async () => { - it('Copper lead', async () => { - const connection = await createDbConnectionOnceAsync(); - const repository = connection.getRepository(CopperLead); - ParsedLeads.forEach(async entity => testSaveAndFindEntityAsync(repository, entity)); - }); - it('Copper activity', async () => { - const connection = await createDbConnectionOnceAsync(); - const repository = connection.getRepository(CopperActivity); - ParsedActivities.forEach(async entity => testSaveAndFindEntityAsync(repository, entity)); - }); - // searching on jsonb fields is broken in typeorm - it.skip('Copper opportunity', async () => { - const connection = await createDbConnectionOnceAsync(); - const repository = connection.getRepository(CopperOpportunity); - ParsedOpportunities.forEach(async entity => testSaveAndFindEntityAsync(repository, entity)); - }); - it('Copper activity type', async () => { - const connection = await createDbConnectionOnceAsync(); - const repository = connection.getRepository(CopperActivityType); - ParsedActivityTypes.forEach(async entity => testSaveAndFindEntityAsync(repository, entity)); - }); - it('Copper custom field', async () => { - const connection = await createDbConnectionOnceAsync(); - const repository = connection.getRepository(CopperCustomField); - ParsedCustomFields.forEach(async entity => testSaveAndFindEntityAsync(repository, entity)); - }); - }); -}); diff --git a/packages/pipeline/test/entities/dex_trades_test.ts b/packages/pipeline/test/entities/dex_trades_test.ts deleted file mode 100644 index 7c4829988..000000000 --- a/packages/pipeline/test/entities/dex_trades_test.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import * as R from 'ramda'; -import 'reflect-metadata'; - -import { DexTrade } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const baseTrade = { - sourceUrl: 'https://bloxy.info/api/dex/trades', - txTimestamp: 1543447585938, - txDate: '2018-11-21', - txSender: '0x00923b9a074762b93650716333b3e1473a15048e', - smartContractId: 7091917, - smartContractAddress: '0x818e6fecd516ecc3849daf6845e3ec868087b755', - contractType: 'DEX/Kyber Network Proxy', - maker: '0xbf2179859fc6d5bee9bf9158632dc51678a4100c', - taker: '0xbf2179859fc6d5bee9bf9158632dc51678a4100d', - amountBuy: new BigNumber('1.011943163078103'), - makerFeeAmount: new BigNumber(0), - buyCurrencyId: 1, - buySymbol: 'ETH', - amountSell: new BigNumber('941.4997928436911'), - takerFeeAmount: new BigNumber(0), - sellCurrencyId: 16610, - sellSymbol: 'ELF', - makerAnnotation: '', - takerAnnotation: '', - protocol: 'Kyber Network Proxy', - sellAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100e', - tradeIndex: '3', -}; - -const tradeWithNullAddresses: DexTrade = R.merge(baseTrade, { - txHash: '0xb93a7faf92efbbb5405c9a73cd4efd99702fe27c03ff22baee1f1b1e37b3a0bf', - buyAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100e', - sellAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100f', -}); - -const tradeWithNonNullAddresses: DexTrade = R.merge(baseTrade, { - txHash: '0xb93a7faf92efbbb5405c9a73cd4efd99702fe27c03ff22baee1f1b1e37b3a0be', - buyAddress: null, - sellAddress: null, -}); - -// tslint:disable:custom-no-magic-numbers -describe('DexTrade entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const trades = [tradeWithNullAddresses, tradeWithNonNullAddresses]; - const tradesRepository = connection.getRepository(DexTrade); - for (const trade of trades) { - await testSaveAndFindEntityAsync(tradesRepository, trade); - } - }); -}); diff --git a/packages/pipeline/test/entities/erc20_approval_events_test.ts b/packages/pipeline/test/entities/erc20_approval_events_test.ts deleted file mode 100644 index 1ecf41ee5..000000000 --- a/packages/pipeline/test/entities/erc20_approval_events_test.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import 'reflect-metadata'; - -import { ERC20ApprovalEvent } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -// tslint:disable:custom-no-magic-numbers -describe('ERC20ApprovalEvent entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const event = new ERC20ApprovalEvent(); - event.tokenAddress = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; - event.blockNumber = 6281577; - event.rawData = '0x000000000000000000000000000000000000000000000002b9cba5ee21ad3df9'; - event.logIndex = 43; - event.transactionHash = '0xcb46b19c786376a0a0140d51e3e606a4c4f926d8ca5434e96d2f69d04d8d9c7f'; - event.ownerAddress = '0x0b65c5f6f3a05d6be5588a72b603360773b3fe04'; - event.spenderAddress = '0x448a5065aebb8e423f0896e6c5d525c040f59af3'; - event.amount = new BigNumber('50281464906893835769'); - const blocksRepository = connection.getRepository(ERC20ApprovalEvent); - await testSaveAndFindEntityAsync(blocksRepository, event); - }); -}); diff --git a/packages/pipeline/test/entities/exchange_cancel_event_test.ts b/packages/pipeline/test/entities/exchange_cancel_event_test.ts deleted file mode 100644 index f3b306d69..000000000 --- a/packages/pipeline/test/entities/exchange_cancel_event_test.ts +++ /dev/null @@ -1,57 +0,0 @@ -import 'mocha'; -import * as R from 'ramda'; -import 'reflect-metadata'; - -import { ExchangeCancelEvent } from '../../src/entities'; -import { AssetType } from '../../src/types'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const baseCancelEvent = { - contractAddress: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b', - logIndex: 1234, - blockNumber: 6276262, - rawData: '0x000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428', - transactionHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe', - makerAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - takerAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - feeRecipientAddress: '0xc370d2a5920344aa6b7d8d11250e3e861434cbdd', - senderAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - orderHash: '0xab12ed2cbaa5615ab690b9da75a46e53ddfcf3f1a68655b5fe0d94c75a1aac4a', - rawMakerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - makerAssetProxyId: '0xf47261b0', - makerTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - rawTakerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', - takerAssetProxyId: '0xf47261b0', - takerTokenAddress: '0xe41d2489571d322189246dafa5ebde1f4699f498', -}; - -const erc20CancelEvent = R.merge(baseCancelEvent, { - makerAssetType: 'erc20' as AssetType, - makerTokenId: null, - takerAssetType: 'erc20' as AssetType, - takerTokenId: null, -}); - -const erc721CancelEvent = R.merge(baseCancelEvent, { - makerAssetType: 'erc721' as AssetType, - makerTokenId: '19378573', - takerAssetType: 'erc721' as AssetType, - takerTokenId: '63885673888', -}); - -// tslint:disable:custom-no-magic-numbers -describe('ExchangeCancelEvent entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const events = [erc20CancelEvent, erc721CancelEvent]; - const cancelEventRepository = connection.getRepository(ExchangeCancelEvent); - for (const event of events) { - await testSaveAndFindEntityAsync(cancelEventRepository, event); - } - }); -}); diff --git a/packages/pipeline/test/entities/exchange_cancel_up_to_event_test.ts b/packages/pipeline/test/entities/exchange_cancel_up_to_event_test.ts deleted file mode 100644 index aa34f8c1c..000000000 --- a/packages/pipeline/test/entities/exchange_cancel_up_to_event_test.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import 'reflect-metadata'; - -import { ExchangeCancelUpToEvent } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -// tslint:disable:custom-no-magic-numbers -describe('ExchangeCancelUpToEvent entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const cancelUpToEventRepository = connection.getRepository(ExchangeCancelUpToEvent); - const cancelUpToEvent = new ExchangeCancelUpToEvent(); - cancelUpToEvent.blockNumber = 6276262; - cancelUpToEvent.contractAddress = '0x4f833a24e1f95d70f028921e27040ca56e09ab0b'; - cancelUpToEvent.logIndex = 42; - cancelUpToEvent.makerAddress = '0xf6da68519f78b0d0bc93c701e86affcb75c92428'; - cancelUpToEvent.orderEpoch = new BigNumber('123456789123456789'); - cancelUpToEvent.rawData = '0x000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428'; - cancelUpToEvent.senderAddress = '0xf6da68519f78b0d0bc93c701e86affcb75c92428'; - cancelUpToEvent.transactionHash = '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe'; - await testSaveAndFindEntityAsync(cancelUpToEventRepository, cancelUpToEvent); - }); -}); diff --git a/packages/pipeline/test/entities/exchange_fill_event_test.ts b/packages/pipeline/test/entities/exchange_fill_event_test.ts deleted file mode 100644 index b2cb8c5e0..000000000 --- a/packages/pipeline/test/entities/exchange_fill_event_test.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import * as R from 'ramda'; -import 'reflect-metadata'; - -import { ExchangeFillEvent } from '../../src/entities'; -import { AssetType } from '../../src/types'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const baseFillEvent = { - contractAddress: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b', - blockNumber: 6276262, - logIndex: 102, - rawData: '0x000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428', - transactionHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe', - makerAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - takerAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - feeRecipientAddress: '0xc370d2a5920344aa6b7d8d11250e3e861434cbdd', - senderAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - makerAssetFilledAmount: new BigNumber('10000000000000000'), - takerAssetFilledAmount: new BigNumber('100000000000000000'), - makerFeePaid: new BigNumber('0'), - takerFeePaid: new BigNumber('12345'), - orderHash: '0xab12ed2cbaa5615ab690b9da75a46e53ddfcf3f1a68655b5fe0d94c75a1aac4a', - rawMakerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - makerAssetProxyId: '0xf47261b0', - makerTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - rawTakerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', - takerAssetProxyId: '0xf47261b0', - takerTokenAddress: '0xe41d2489571d322189246dafa5ebde1f4699f498', -}; - -const erc20FillEvent = R.merge(baseFillEvent, { - makerAssetType: 'erc20' as AssetType, - makerTokenId: null, - takerAssetType: 'erc20' as AssetType, - takerTokenId: null, -}); - -const erc721FillEvent = R.merge(baseFillEvent, { - makerAssetType: 'erc721' as AssetType, - makerTokenId: '19378573', - takerAssetType: 'erc721' as AssetType, - takerTokenId: '63885673888', -}); - -// tslint:disable:custom-no-magic-numbers -describe('ExchangeFillEvent entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const events = [erc20FillEvent, erc721FillEvent]; - const fillEventsRepository = connection.getRepository(ExchangeFillEvent); - for (const event of events) { - await testSaveAndFindEntityAsync(fillEventsRepository, event); - } - }); -}); diff --git a/packages/pipeline/test/entities/ohlcv_external_test.ts b/packages/pipeline/test/entities/ohlcv_external_test.ts deleted file mode 100644 index 8b995db50..000000000 --- a/packages/pipeline/test/entities/ohlcv_external_test.ts +++ /dev/null @@ -1,35 +0,0 @@ -import 'mocha'; -import 'reflect-metadata'; - -import { OHLCVExternal } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const ohlcvExternal: OHLCVExternal = { - exchange: 'CCCAGG', - fromSymbol: 'ETH', - toSymbol: 'ZRX', - startTime: 1543352400000, - endTime: 1543356000000, - open: 307.41, - close: 310.08, - low: 304.6, - high: 310.27, - volumeFrom: 904.6, - volumeTo: 278238.5, - source: 'Crypto Compare', - observedTimestamp: 1543442338074, -}; - -// tslint:disable:custom-no-magic-numbers -describe('OHLCVExternal entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const repository = connection.getRepository(OHLCVExternal); - await testSaveAndFindEntityAsync(repository, ohlcvExternal); - }); -}); diff --git a/packages/pipeline/test/entities/relayer_test.ts b/packages/pipeline/test/entities/relayer_test.ts deleted file mode 100644 index 760ffb6f9..000000000 --- a/packages/pipeline/test/entities/relayer_test.ts +++ /dev/null @@ -1,55 +0,0 @@ -import 'mocha'; -import * as R from 'ramda'; -import 'reflect-metadata'; - -import { Relayer } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const baseRelayer = { - uuid: 'e8d27d8d-ddf6-48b1-9663-60b0a3ddc716', - name: 'Radar Relay', - homepageUrl: 'https://radarrelay.com', - appUrl: null, - sraHttpEndpoint: null, - sraWsEndpoint: null, - feeRecipientAddresses: [], - takerAddresses: [], -}; - -const relayerWithUrls = R.merge(baseRelayer, { - uuid: 'e8d27d8d-ddf6-48b1-9663-60b0a3ddc717', - appUrl: 'https://app.radarrelay.com', - sraHttpEndpoint: 'https://api.radarrelay.com/0x/v2/', - sraWsEndpoint: 'wss://ws.radarrelay.com/0x/v2', -}); - -const relayerWithAddresses = R.merge(baseRelayer, { - uuid: 'e8d27d8d-ddf6-48b1-9663-60b0a3ddc718', - feeRecipientAddresses: [ - '0xa258b39954cef5cb142fd567a46cddb31a670124', - '0xa258b39954cef5cb142fd567a46cddb31a670125', - '0xa258b39954cef5cb142fd567a46cddb31a670126', - ], - takerAddresses: [ - '0xa258b39954cef5cb142fd567a46cddb31a670127', - '0xa258b39954cef5cb142fd567a46cddb31a670128', - '0xa258b39954cef5cb142fd567a46cddb31a670129', - ], -}); - -// tslint:disable:custom-no-magic-numbers -describe('Relayer entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const relayers = [baseRelayer, relayerWithUrls, relayerWithAddresses]; - const relayerRepository = connection.getRepository(Relayer); - for (const relayer of relayers) { - await testSaveAndFindEntityAsync(relayerRepository, relayer); - } - }); -}); diff --git a/packages/pipeline/test/entities/sra_order_test.ts b/packages/pipeline/test/entities/sra_order_test.ts deleted file mode 100644 index c43de8ce8..000000000 --- a/packages/pipeline/test/entities/sra_order_test.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import * as R from 'ramda'; -import 'reflect-metadata'; -import { Repository } from 'typeorm'; - -import { SraOrder, SraOrdersObservedTimeStamp } from '../../src/entities'; -import { AssetType } from '../../src/types'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const baseOrder = { - sourceUrl: 'https://api.radarrelay.com/0x/v2', - exchangeAddress: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b', - makerAddress: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', - takerAddress: '0x0000000000000000000000000000000000000000', - feeRecipientAddress: '0xa258b39954cef5cb142fd567a46cddb31a670124', - senderAddress: '0x0000000000000000000000000000000000000000', - makerAssetAmount: new BigNumber('1619310371000000000'), - takerAssetAmount: new BigNumber('8178335207070707070707'), - makerFee: new BigNumber('100'), - takerFee: new BigNumber('200'), - expirationTimeSeconds: new BigNumber('1538529488'), - salt: new BigNumber('1537924688891'), - signature: '0x1b5a5d672b0d647b5797387ccbb89d8', - rawMakerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - makerAssetProxyId: '0xf47261b0', - makerTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - rawTakerAssetData: '0xf47261b000000000000000000000000042d6622dece394b54999fbd73d108123806f6a18', - takerAssetProxyId: '0xf47261b0', - takerTokenAddress: '0x42d6622dece394b54999fbd73d108123806f6a18', - metadataJson: '{"isThisArbitraryData":true,"powerLevel":9001}', -}; - -const erc20Order = R.merge(baseOrder, { - orderHashHex: '0x1bdbeb0d088a33da28b9ee6d94e8771452f90f4a69107da2fa75195d61b9a1c9', - makerAssetType: 'erc20' as AssetType, - makerTokenId: null, - takerAssetType: 'erc20' as AssetType, - takerTokenId: null, -}); - -const erc721Order = R.merge(baseOrder, { - orderHashHex: '0x1bdbeb0d088a33da28b9ee6d94e8771452f90f4a69107da2fa75195d61b9a1d0', - makerAssetType: 'erc721' as AssetType, - makerTokenId: '19378573', - takerAssetType: 'erc721' as AssetType, - takerTokenId: '63885673888', -}); - -// tslint:disable:custom-no-magic-numbers -describe('SraOrder and SraOrdersObservedTimeStamp entities', () => { - // Note(albrow): SraOrder and SraOrdersObservedTimeStamp are tightly coupled - // and timestamps have a foreign key constraint such that they have to point - // to an existing SraOrder. For these reasons, we are testing them together - // in the same test. - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const orderRepository = connection.getRepository(SraOrder); - const timestampRepository = connection.getRepository(SraOrdersObservedTimeStamp); - const orders = [erc20Order, erc721Order]; - for (const order of orders) { - await testOrderWithTimestampAsync(orderRepository, timestampRepository, order); - } - }); -}); - -async function testOrderWithTimestampAsync( - orderRepository: Repository<SraOrder>, - timestampRepository: Repository<SraOrdersObservedTimeStamp>, - order: SraOrder, -): Promise<void> { - await testSaveAndFindEntityAsync(orderRepository, order); - const timestamp = new SraOrdersObservedTimeStamp(); - timestamp.exchangeAddress = order.exchangeAddress; - timestamp.orderHashHex = order.orderHashHex; - timestamp.sourceUrl = order.sourceUrl; - timestamp.observedTimestamp = 1543377376153; - await testSaveAndFindEntityAsync(timestampRepository, timestamp); -} diff --git a/packages/pipeline/test/entities/token_metadata_test.ts b/packages/pipeline/test/entities/token_metadata_test.ts deleted file mode 100644 index 48e656644..000000000 --- a/packages/pipeline/test/entities/token_metadata_test.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import 'reflect-metadata'; - -import { TokenMetadata } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const metadataWithoutNullFields: TokenMetadata = { - address: '0xe41d2489571d322189246dafa5ebde1f4699f498', - authority: 'https://website-api.0xproject.com/tokens', - decimals: new BigNumber(18), - symbol: 'ZRX', - name: '0x', -}; - -const metadataWithNullFields: TokenMetadata = { - address: '0xe41d2489571d322189246dafa5ebde1f4699f499', - authority: 'https://website-api.0xproject.com/tokens', - decimals: null, - symbol: null, - name: null, -}; - -// tslint:disable:custom-no-magic-numbers -describe('TokenMetadata entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const tokenMetadata = [metadataWithoutNullFields, metadataWithNullFields]; - const tokenMetadataRepository = connection.getRepository(TokenMetadata); - for (const tokenMetadatum of tokenMetadata) { - await testSaveAndFindEntityAsync(tokenMetadataRepository, tokenMetadatum); - } - }); -}); diff --git a/packages/pipeline/test/entities/token_order_test.ts b/packages/pipeline/test/entities/token_order_test.ts deleted file mode 100644 index c6057f5aa..000000000 --- a/packages/pipeline/test/entities/token_order_test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; - -import { TokenOrderbookSnapshot } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -const tokenOrderbookSnapshot: TokenOrderbookSnapshot = { - source: 'ddextest', - observedTimestamp: Date.now(), - orderType: 'bid', - price: new BigNumber(10.1), - baseAssetSymbol: 'ETH', - baseAssetAddress: '0x818e6fecd516ecc3849daf6845e3ec868087b755', - baseVolume: new BigNumber(143), - quoteAssetSymbol: 'ABC', - quoteAssetAddress: '0x00923b9a074762b93650716333b3e1473a15048e', - quoteVolume: new BigNumber(12.3234234), -}; - -describe('TokenOrderbookSnapshot entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const tokenOrderbookSnapshotRepository = connection.getRepository(TokenOrderbookSnapshot); - await testSaveAndFindEntityAsync(tokenOrderbookSnapshotRepository, tokenOrderbookSnapshot); - }); -}); diff --git a/packages/pipeline/test/entities/transaction_test.ts b/packages/pipeline/test/entities/transaction_test.ts deleted file mode 100644 index 634844544..000000000 --- a/packages/pipeline/test/entities/transaction_test.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import 'mocha'; -import 'reflect-metadata'; - -import { Transaction } from '../../src/entities'; -import { createDbConnectionOnceAsync } from '../db_setup'; -import { chaiSetup } from '../utils/chai_setup'; - -import { testSaveAndFindEntityAsync } from './util'; - -chaiSetup.configure(); - -// tslint:disable:custom-no-magic-numbers -describe('Transaction entity', () => { - it('save/find', async () => { - const connection = await createDbConnectionOnceAsync(); - const transactionRepository = connection.getRepository(Transaction); - const transaction = new Transaction(); - transaction.blockHash = '0x6ff106d00b6c3746072fc06bae140fb2549036ba7bcf9184ae19a42fd33657fd'; - transaction.blockNumber = 6276262; - transaction.gasPrice = new BigNumber(3000000); - transaction.gasUsed = new BigNumber(125000); - transaction.transactionHash = '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe'; - await testSaveAndFindEntityAsync(transactionRepository, transaction); - }); -}); diff --git a/packages/pipeline/test/entities/util.ts b/packages/pipeline/test/entities/util.ts deleted file mode 100644 index 42df23a4a..000000000 --- a/packages/pipeline/test/entities/util.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as chai from 'chai'; -import 'mocha'; - -import { Repository } from 'typeorm'; - -const expect = chai.expect; - -/** - * First saves the given entity to the database, then finds it and makes sure - * that the found entity is exactly equal to the original one. This is a bare - * minimum basic test to make sure that the entity type definition and our - * database schema are aligned and that it is possible to save and find the - * entity. - * @param repository A TypeORM repository corresponding with the type of the entity. - * @param entity An instance of a TypeORM entity which will be saved/retrieved from the database. - */ -export async function testSaveAndFindEntityAsync<T>(repository: Repository<T>, entity: T): Promise<void> { - // Note(albrow): We are forced to use an 'any' hack here because - // TypeScript complains about stack depth when checking the types. - await repository.save<any>(entity); - const gotEntity = await repository.findOneOrFail({ - where: entity, - }); - expect(gotEntity).deep.equal(entity); -} diff --git a/packages/pipeline/test/fixtures/copper/api_v1_activity_types.json b/packages/pipeline/test/fixtures/copper/api_v1_activity_types.json deleted file mode 100644 index dbd39c31b..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_activity_types.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "user": [ - { "id": 0, "category": "user", "name": "Note", "is_disabled": false, "count_as_interaction": false }, - { "id": 660496, "category": "user", "name": "To Do", "is_disabled": false, "count_as_interaction": false }, - { "id": 660495, "category": "user", "name": "Meeting", "is_disabled": false, "count_as_interaction": true }, - { "id": 660494, "category": "user", "name": "Phone Call", "is_disabled": false, "count_as_interaction": true } - ], - "system": [ - { - "id": 1, - "category": "system", - "name": "Property Changed", - "is_disabled": false, - "count_as_interaction": false - }, - { - "id": 3, - "category": "system", - "name": "Pipeline Stage Changed", - "is_disabled": false, - "count_as_interaction": false - } - ] -} diff --git a/packages/pipeline/test/fixtures/copper/api_v1_activity_types.ts b/packages/pipeline/test/fixtures/copper/api_v1_activity_types.ts deleted file mode 100644 index fd2d62a6c..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_activity_types.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { CopperActivityType } from '../../../src/entities'; -const ParsedActivityTypes: CopperActivityType[] = [ - { id: 0, name: 'Note', category: 'user', isDisabled: false, countAsInteraction: false }, - { id: 660496, name: 'To Do', category: 'user', isDisabled: false, countAsInteraction: false }, - { id: 660495, name: 'Meeting', category: 'user', isDisabled: false, countAsInteraction: true }, - { id: 660494, name: 'Phone Call', category: 'user', isDisabled: false, countAsInteraction: true }, - { id: 1, name: 'Property Changed', category: 'system', isDisabled: false, countAsInteraction: false }, - { - id: 3, - name: 'Pipeline Stage Changed', - category: 'system', - isDisabled: false, - countAsInteraction: false, - }, -]; -export { ParsedActivityTypes }; diff --git a/packages/pipeline/test/fixtures/copper/api_v1_custom_field_definitions.json b/packages/pipeline/test/fixtures/copper/api_v1_custom_field_definitions.json deleted file mode 100644 index c6665cb0f..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_custom_field_definitions.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "id": 261066, - "name": "Integration Type", - "canonical_name": null, - "data_type": "MultiSelect", - "available_on": ["opportunity", "company", "person"], - "options": [ - { "id": 394020, "name": "Strategic Relationship", "rank": 7 }, - { "id": 394013, "name": "ERC-20 Exchange", "rank": 0 }, - { "id": 394014, "name": "ERC-721 Marketplace", "rank": 1 }, - { "id": 394015, "name": "Trade Widget", "rank": 2 }, - { "id": 394016, "name": "Prediction Market Exchange", "rank": 3 }, - { "id": 394017, "name": "Security Token Exchange", "rank": 4 }, - { "id": 394018, "name": "Complementary Company", "rank": 5 }, - { "id": 394019, "name": "Service Provider", "rank": 6 } - ] - }, - { - "id": 261067, - "name": "Company Type", - "canonical_name": null, - "data_type": "Dropdown", - "available_on": ["company", "opportunity", "person"], - "options": [ - { "id": 394129, "name": "Market Maker", "rank": 6 }, - { "id": 394130, "name": "Events", "rank": 2 }, - { "id": 394023, "name": "Exchange", "rank": 3 }, - { "id": 394024, "name": "Investor", "rank": 5 }, - { "id": 394026, "name": "Service Provider", "rank": 8 }, - { "id": 394027, "name": "Wallet", "rank": 9 }, - { "id": 394134, "name": "Game", "rank": 4 }, - { "id": 394025, "name": "OTC", "rank": 7 }, - { "id": 394021, "name": "Blockchain/Protocol", "rank": 0 }, - { "id": 394022, "name": "dApp", "rank": 1 } - ] - } -] diff --git a/packages/pipeline/test/fixtures/copper/api_v1_custom_field_definitions.ts b/packages/pipeline/test/fixtures/copper/api_v1_custom_field_definitions.ts deleted file mode 100644 index a44bbd2c3..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_custom_field_definitions.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { CopperCustomField } from '../../../src/entities'; -const ParsedCustomFields: CopperCustomField[] = [ - { - id: 394020, - name: 'Strategic Relationship', - dataType: 'Integration Type', - fieldType: 'option', - }, - { id: 394013, name: 'ERC-20 Exchange', dataType: 'Integration Type', fieldType: 'option' }, - { id: 394014, name: 'ERC-721 Marketplace', dataType: 'Integration Type', fieldType: 'option' }, - { id: 394015, name: 'Trade Widget', dataType: 'Integration Type', fieldType: 'option' }, - { - id: 394016, - name: 'Prediction Market Exchange', - dataType: 'Integration Type', - fieldType: 'option', - }, - { - id: 394017, - name: 'Security Token Exchange', - dataType: 'Integration Type', - fieldType: 'option', - }, - { id: 394018, name: 'Complementary Company', dataType: 'Integration Type', fieldType: 'option' }, - { id: 394019, name: 'Service Provider', dataType: 'Integration Type', fieldType: 'option' }, - { id: 261066, name: 'Integration Type', dataType: 'MultiSelect' }, - { id: 394129, name: 'Market Maker', dataType: 'Company Type', fieldType: 'option' }, - { id: 394130, name: 'Events', dataType: 'Company Type', fieldType: 'option' }, - { id: 394023, name: 'Exchange', dataType: 'Company Type', fieldType: 'option' }, - { id: 394024, name: 'Investor', dataType: 'Company Type', fieldType: 'option' }, - { id: 394026, name: 'Service Provider', dataType: 'Company Type', fieldType: 'option' }, - { id: 394027, name: 'Wallet', dataType: 'Company Type', fieldType: 'option' }, - { id: 394134, name: 'Game', dataType: 'Company Type', fieldType: 'option' }, - { id: 394025, name: 'OTC', dataType: 'Company Type', fieldType: 'option' }, - { id: 394021, name: 'Blockchain/Protocol', dataType: 'Company Type', fieldType: 'option' }, - { id: 394022, name: 'dApp', dataType: 'Company Type', fieldType: 'option' }, - { id: 261067, name: 'Company Type', dataType: 'Dropdown' }, -]; -export { ParsedCustomFields }; diff --git a/packages/pipeline/test/fixtures/copper/api_v1_list_activities.json b/packages/pipeline/test/fixtures/copper/api_v1_list_activities.json deleted file mode 100644 index a726111ac..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_list_activities.json +++ /dev/null @@ -1,242 +0,0 @@ -[ - { - "id": 5015299552, - "parent": { "id": 14667512, "type": "opportunity" }, - "type": { "id": 3, "category": "system", "name": "Stage Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1545329595, - "old_value": { "id": 2392929, "name": "Evaluation" }, - "new_value": { "id": 2392931, "name": "Integration Started" }, - "date_created": 1545329595, - "date_modified": 1545329595 - }, - { - "id": 5010214065, - "parent": { "id": 14978865, "type": "opportunity" }, - "type": { "id": 3, "category": "system", "name": "Stage Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1545245706, - "old_value": { "id": 2392928, "name": "Intro" }, - "new_value": { "id": 2392929, "name": "Evaluation" }, - "date_created": 1545245706, - "date_modified": 1545245706 - }, - { - "id": 5006149111, - "parent": { "id": 70430977, "type": "person" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1545166908, - "old_value": null, - "new_value": null, - "date_created": 1545168280, - "date_modified": 1545166908 - }, - { - "id": 5005314622, - "parent": { "id": 27778968, "type": "company" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1545080504, - "old_value": null, - "new_value": null, - "date_created": 1545160479, - "date_modified": 1545080504 - }, - { - "id": 5000006802, - "parent": { "id": 14956518, "type": "opportunity" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1545071374, - "old_value": null, - "new_value": null, - "date_created": 1545071500, - "date_modified": 1545071374 - }, - { - "id": 4985504199, - "parent": { "id": 14912790, "type": "opportunity" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544644058, - "old_value": null, - "new_value": null, - "date_created": 1544644661, - "date_modified": 1544644058 - }, - { - "id": 4985456147, - "parent": { "id": 14912790, "type": "opportunity" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544644048, - "old_value": null, - "new_value": null, - "date_created": 1544644053, - "date_modified": 1544644048 - }, - { - "id": 4980975996, - "parent": { "id": 14902828, "type": "opportunity" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544563171, - "old_value": null, - "new_value": null, - "date_created": 1544563224, - "date_modified": 1544563171 - }, - { - "id": 4980910331, - "parent": { "id": 14902828, "type": "opportunity" }, - "type": { "id": 3, "category": "system", "name": "Stage Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544562495, - "old_value": { "id": 2392928, "name": "Intro" }, - "new_value": { "id": 2392931, "name": "Integration Started" }, - "date_created": 1544562495, - "date_modified": 1544562495 - }, - { - "id": 4980872220, - "parent": { "id": 14888910, "type": "opportunity" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544559279, - "old_value": null, - "new_value": null, - "date_created": 1544562118, - "date_modified": 1544559279 - }, - { - "id": 4980508097, - "parent": { "id": 14050167, "type": "opportunity" }, - "type": { "id": 1, "category": "system", "name": "Status Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544558077, - "old_value": "Open", - "new_value": "Won", - "date_created": 1544558077, - "date_modified": 1544558077 - }, - { - "id": 4980508095, - "parent": { "id": 66538237, "type": "person" }, - "type": { "id": 1, "category": "system" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544558077, - "old_value": null, - "new_value": null, - "date_created": 1544558077, - "date_modified": 1544558077 - }, - { - "id": 4980508092, - "parent": { "id": 27779020, "type": "company" }, - "type": { "id": 1, "category": "system" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544558077, - "old_value": null, - "new_value": null, - "date_created": 1544558077, - "date_modified": 1544558077 - }, - { - "id": 4980507507, - "parent": { "id": 14050167, "type": "opportunity" }, - "type": { "id": 3, "category": "system", "name": "Stage Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544558071, - "old_value": { "id": 2392931, "name": "Integration Started" }, - "new_value": { "id": 2405442, "name": "Integration Complete" }, - "date_created": 1544558071, - "date_modified": 1544558071 - }, - { - "id": 4980479684, - "parent": { "id": 14901232, "type": "opportunity" }, - "type": { "id": 3, "category": "system", "name": "Stage Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544557777, - "old_value": { "id": 2392928, "name": "Intro" }, - "new_value": { "id": 2392929, "name": "Evaluation" }, - "date_created": 1544557777, - "date_modified": 1544557777 - }, - { - "id": 4980327164, - "parent": { "id": 14901232, "type": "opportunity" }, - "type": { "id": 660495, "category": "user" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544554864, - "old_value": null, - "new_value": null, - "date_created": 1544556132, - "date_modified": 1544554864 - }, - { - "id": 4975270470, - "parent": { "id": 14888744, "type": "opportunity" }, - "type": { "id": 3, "category": "system", "name": "Stage Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544469501, - "old_value": { "id": 2392928, "name": "Intro" }, - "new_value": { "id": 2392931, "name": "Integration Started" }, - "date_created": 1544469501, - "date_modified": 1544469501 - }, - { - "id": 4975255523, - "parent": { "id": 64713448, "type": "person" }, - "type": { "id": 1, "category": "system" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544469389, - "old_value": null, - "new_value": null, - "date_created": 1544469389, - "date_modified": 1544469389 - }, - { - "id": 4975255519, - "parent": { "id": 13735617, "type": "opportunity" }, - "type": { "id": 1, "category": "system", "name": "Status Change" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544469388, - "old_value": "Open", - "new_value": "Won", - "date_created": 1544469388, - "date_modified": 1544469388 - }, - { - "id": 4975255514, - "parent": { "id": 27778968, "type": "company" }, - "type": { "id": 1, "category": "system" }, - "user_id": 680302, - "details": "blah blah", - "activity_date": 1544469388, - "old_value": null, - "new_value": null, - "date_created": 1544469388, - "date_modified": 1544469388 - } -] diff --git a/packages/pipeline/test/fixtures/copper/api_v1_list_activities.ts b/packages/pipeline/test/fixtures/copper/api_v1_list_activities.ts deleted file mode 100644 index 51ee9ced3..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_list_activities.ts +++ /dev/null @@ -1,305 +0,0 @@ -import { CopperActivity } from '../../../src/entities'; - -const ParsedActivities: CopperActivity[] = [ - { - id: 5015299552, - parentId: 14667512, - parentType: 'opportunity', - typeId: 3, - typeCategory: 'system', - typeName: 'Stage Change', - userId: 680302, - dateCreated: 1545329595000, - dateModified: 1545329595000, - oldValueId: 2392929, - oldValueName: 'Evaluation', - newValueId: 2392931, - newValueName: 'Integration Started', - }, - { - id: 5010214065, - parentId: 14978865, - parentType: 'opportunity', - typeId: 3, - typeCategory: 'system', - typeName: 'Stage Change', - userId: 680302, - dateCreated: 1545245706000, - dateModified: 1545245706000, - oldValueId: 2392928, - oldValueName: 'Intro', - newValueId: 2392929, - newValueName: 'Evaluation', - }, - { - id: 5006149111, - parentId: 70430977, - parentType: 'person', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1545168280000, - dateModified: 1545166908000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 5005314622, - parentId: 27778968, - parentType: 'company', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1545160479000, - dateModified: 1545080504000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 5000006802, - parentId: 14956518, - parentType: 'opportunity', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1545071500000, - dateModified: 1545071374000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4985504199, - parentId: 14912790, - parentType: 'opportunity', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1544644661000, - dateModified: 1544644058000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4985456147, - parentId: 14912790, - parentType: 'opportunity', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1544644053000, - dateModified: 1544644048000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4980975996, - parentId: 14902828, - parentType: 'opportunity', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1544563224000, - dateModified: 1544563171000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4980910331, - parentId: 14902828, - parentType: 'opportunity', - typeId: 3, - typeCategory: 'system', - typeName: 'Stage Change', - userId: 680302, - dateCreated: 1544562495000, - dateModified: 1544562495000, - oldValueId: 2392928, - oldValueName: 'Intro', - newValueId: 2392931, - newValueName: 'Integration Started', - }, - { - id: 4980872220, - parentId: 14888910, - parentType: 'opportunity', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1544562118000, - dateModified: 1544559279000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4980508097, - parentId: 14050167, - parentType: 'opportunity', - typeId: 1, - typeCategory: 'system', - typeName: 'Status Change', - userId: 680302, - dateCreated: 1544558077000, - dateModified: 1544558077000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4980508095, - parentId: 66538237, - parentType: 'person', - typeId: 1, - typeCategory: 'system', - typeName: undefined, - userId: 680302, - dateCreated: 1544558077000, - dateModified: 1544558077000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4980508092, - parentId: 27779020, - parentType: 'company', - typeId: 1, - typeCategory: 'system', - typeName: undefined, - userId: 680302, - dateCreated: 1544558077000, - dateModified: 1544558077000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4980507507, - parentId: 14050167, - parentType: 'opportunity', - typeId: 3, - typeCategory: 'system', - typeName: 'Stage Change', - userId: 680302, - dateCreated: 1544558071000, - dateModified: 1544558071000, - oldValueId: 2392931, - oldValueName: 'Integration Started', - newValueId: 2405442, - newValueName: 'Integration Complete', - }, - { - id: 4980479684, - parentId: 14901232, - parentType: 'opportunity', - typeId: 3, - typeCategory: 'system', - typeName: 'Stage Change', - userId: 680302, - dateCreated: 1544557777000, - dateModified: 1544557777000, - oldValueId: 2392928, - oldValueName: 'Intro', - newValueId: 2392929, - newValueName: 'Evaluation', - }, - { - id: 4980327164, - parentId: 14901232, - parentType: 'opportunity', - typeId: 660495, - typeCategory: 'user', - typeName: undefined, - userId: 680302, - dateCreated: 1544556132000, - dateModified: 1544554864000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4975270470, - parentId: 14888744, - parentType: 'opportunity', - typeId: 3, - typeCategory: 'system', - typeName: 'Stage Change', - userId: 680302, - dateCreated: 1544469501000, - dateModified: 1544469501000, - oldValueId: 2392928, - oldValueName: 'Intro', - newValueId: 2392931, - newValueName: 'Integration Started', - }, - { - id: 4975255523, - parentId: 64713448, - parentType: 'person', - typeId: 1, - typeCategory: 'system', - typeName: undefined, - userId: 680302, - dateCreated: 1544469389000, - dateModified: 1544469389000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4975255519, - parentId: 13735617, - parentType: 'opportunity', - typeId: 1, - typeCategory: 'system', - typeName: 'Status Change', - userId: 680302, - dateCreated: 1544469388000, - dateModified: 1544469388000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, - { - id: 4975255514, - parentId: 27778968, - parentType: 'company', - typeId: 1, - typeCategory: 'system', - typeName: undefined, - userId: 680302, - dateCreated: 1544469388000, - dateModified: 1544469388000, - oldValueId: undefined, - oldValueName: undefined, - newValueId: undefined, - newValueName: undefined, - }, -]; -export { ParsedActivities }; diff --git a/packages/pipeline/test/fixtures/copper/api_v1_list_leads.json b/packages/pipeline/test/fixtures/copper/api_v1_list_leads.json deleted file mode 100644 index e7161085d..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_list_leads.json +++ /dev/null @@ -1,577 +0,0 @@ -[ - { - "id": 9150547, - "name": "My Contact", - "prefix": null, - "first_name": "My", - "last_name": "Contact", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mycontact@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1490045162, - "date_modified": 1490045162 - }, - { - "id": 9150552, - "name": "My Contact", - "prefix": null, - "first_name": "My", - "last_name": "Contact", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": null, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [ - { - "number": "415-123-45678", - "category": "mobile" - } - ], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1490045237, - "date_modified": 1490045237 - }, - { - "id": 9150578, - "name": "My Contact", - "prefix": null, - "first_name": "My", - "last_name": "Contact", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": null, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [ - { - "number": "415-123-45678", - "category": "mobile" - } - ], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1490045279, - "date_modified": 1490045279 - }, - { - "id": 8982554, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1489528899, - "date_modified": 1489528899 - }, - { - "id": 8982702, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@gmail.test", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1489531171, - "date_modified": 1489531171 - }, - { - "id": 9094361, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1489791225, - "date_modified": 1489791225 - }, - { - "id": 9094364, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "123456789012345678901234567890" - }, - { - "custom_field_definition_id": 103481, - "value": "123456789012345678901234567890" - } - ], - "date_created": 1489791283, - "date_modified": 1489791283 - }, - { - "id": 9094371, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------" - }, - { - "custom_field_definition_id": 103481, - "value": "123456789012345678901234567890" - } - ], - "date_created": 1489791417, - "date_modified": 1489791417 - }, - { - "id": 9094372, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5-----" - }, - { - "custom_field_definition_id": 103481, - "value": "123456789012345678901234567890" - } - ], - "date_created": 1489791453, - "date_modified": 1489791453 - }, - { - "id": 9094373, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5-----" - }, - { - "custom_field_definition_id": 103481, - "value": "|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------" - } - ], - "date_created": 1489791470, - "date_modified": 1489791470 - }, - { - "id": 9094383, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5-----" - }, - { - "custom_field_definition_id": 103481, - "value": "|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------|--------1---------2---------3---------4---------5---------6---------7---------8---------9---------" - } - ], - "date_created": 1489791672, - "date_modified": 1489791672 - }, - { - "id": 9174441, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "Text fields are 255 chars or less!" - }, - { - "custom_field_definition_id": 103481, - "value": "text \n text" - } - ], - "date_created": 1490112942, - "date_modified": 1490112942 - }, - { - "id": 9174443, - "name": "My Lead", - "prefix": null, - "first_name": "My", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": null, - "assignee_id": null, - "company_name": null, - "customer_source_id": null, - "details": null, - "email": { - "email": "mylead@noemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": null, - "socials": [], - "status": "New", - "status_id": 208231, - "tags": [], - "title": null, - "websites": [], - "phone_numbers": [], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": "Text fields are 255 chars or less!" - }, - { - "custom_field_definition_id": 103481, - "value": "text /n text" - } - ], - "date_created": 1490112953, - "date_modified": 1490112953 - }, - { - "id": 8894157, - "name": "Test Lead", - "prefix": null, - "first_name": "Test", - "last_name": "Lead", - "middle_name": null, - "suffix": null, - "address": { - "street": "301 Howard St Ste 600", - "city": "San Francisco", - "state": "CA", - "postal_code": "94105", - "country": "US" - }, - "assignee_id": 137658, - "company_name": "Lead's Company", - "customer_source_id": 331241, - "details": "This is an update", - "email": { - "email": "address@workemail.com", - "category": "work" - }, - "interaction_count": 0, - "monetary_value": 100, - "socials": [ - { - "url": "facebook.com/test_lead", - "category": "facebook" - } - ], - "status": "New", - "status_id": 208231, - "tags": ["tag 1", "tag 2"], - "title": "Title", - "websites": [ - { - "url": "www.workwebsite.com", - "category": "work" - } - ], - "phone_numbers": [ - { - "number": "415-999-4321", - "category": "mobile" - }, - { - "number": "415-555-1234", - "category": "work" - } - ], - "custom_fields": [ - { - "custom_field_definition_id": 100764, - "value": null - }, - { - "custom_field_definition_id": 103481, - "value": null - } - ], - "date_created": 1489018784, - "date_modified": 1496692911 - } -] diff --git a/packages/pipeline/test/fixtures/copper/api_v1_list_leads.ts b/packages/pipeline/test/fixtures/copper/api_v1_list_leads.ts deleted file mode 100644 index b1f00cba7..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_list_leads.ts +++ /dev/null @@ -1,229 +0,0 @@ -import { CopperLead } from '../../../src/entities'; -const ParsedLeads: CopperLead[] = [ - { - id: 9150547, - name: 'My Contact', - firstName: 'My', - lastName: 'Contact', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1490045162000, - dateModified: 1490045162000, - }, - { - id: 9150552, - name: 'My Contact', - firstName: 'My', - lastName: 'Contact', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1490045237000, - dateModified: 1490045237000, - }, - { - id: 9150578, - name: 'My Contact', - firstName: 'My', - lastName: 'Contact', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1490045279000, - dateModified: 1490045279000, - }, - { - id: 8982554, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489528899000, - dateModified: 1489528899000, - }, - { - id: 8982702, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489531171000, - dateModified: 1489531171000, - }, - { - id: 9094361, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489791225000, - dateModified: 1489791225000, - }, - { - id: 9094364, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489791283000, - dateModified: 1489791283000, - }, - { - id: 9094371, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489791417000, - dateModified: 1489791417000, - }, - { - id: 9094372, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489791453000, - dateModified: 1489791453000, - }, - { - id: 9094373, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489791470000, - dateModified: 1489791470000, - }, - { - id: 9094383, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1489791672000, - dateModified: 1489791672000, - }, - { - id: 9174441, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1490112942000, - dateModified: 1490112942000, - }, - { - id: 9174443, - name: 'My Lead', - firstName: 'My', - lastName: 'Lead', - middleName: undefined, - assigneeId: undefined, - companyName: undefined, - customerSourceId: undefined, - monetaryValue: undefined, - status: 'New', - statusId: 208231, - title: undefined, - dateCreated: 1490112953000, - dateModified: 1490112953000, - }, - { - id: 8894157, - name: 'Test Lead', - firstName: 'Test', - lastName: 'Lead', - middleName: undefined, - assigneeId: 137658, - companyName: "Lead's Company", - customerSourceId: 331241, - monetaryValue: 100, - status: 'New', - statusId: 208231, - title: 'Title', - dateCreated: 1489018784000, - dateModified: 1496692911000, - }, -]; - -export { ParsedLeads }; diff --git a/packages/pipeline/test/fixtures/copper/api_v1_list_opportunities.json b/packages/pipeline/test/fixtures/copper/api_v1_list_opportunities.json deleted file mode 100644 index 34ac58c30..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_list_opportunities.json +++ /dev/null @@ -1,662 +0,0 @@ -[ - { - "id": 14050269, - "name": "8Base RaaS", - "assignee_id": 680302, - "close_date": "11/19/2018", - "company_id": 27778962, - "company_name": "8base", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 66088850, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 81, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542653860, - "date_last_contacted": 1544757550, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1538414159, - "date_modified": 1544769562, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013, 394018] }, - { "custom_field_definition_id": 261067, "value": 394026 } - ] - }, - { - "id": 14631430, - "name": "Alice.si TW + ERC 20 Marketplace", - "assignee_id": 680302, - "close_date": "12/15/2018", - "company_id": 30238847, - "company_name": "Alice SI", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 69354024, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 4, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542304481, - "date_last_contacted": 1542304800, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542304481, - "date_modified": 1542304943, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013, 394015] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14632057, - "name": "Altcoin.io Relayer", - "assignee_id": 680302, - "close_date": "12/15/2018", - "company_id": 29936486, - "company_name": "Altcoin.io", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 68724646, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 22, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542310909, - "date_last_contacted": 1543864597, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542306827, - "date_modified": 1543864667, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013, 394017] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14667523, - "name": "Altcoin.io Relayer", - "assignee_id": 680302, - "close_date": "12/19/2018", - "company_id": 29936486, - "company_name": "Altcoin.io", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 68724646, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 21, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542657437, - "date_last_contacted": 1543864597, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542657437, - "date_modified": 1543864667, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013, 394017] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14666706, - "name": "Amadeus Relayer", - "assignee_id": 680302, - "close_date": "11/19/2018", - "company_id": 29243209, - "company_name": "Amadeus", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 66912020, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 11, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542654284, - "date_last_contacted": 1543264254, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542654284, - "date_modified": 1543277520, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14666718, - "name": "Ambo Relayer", - "assignee_id": 680302, - "close_date": "11/19/2018", - "company_id": 29249190, - "company_name": "Ambo", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 66927869, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 126, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542654352, - "date_last_contacted": 1545252349, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542654352, - "date_modified": 1545253761, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14164318, - "name": "Augur TW", - "assignee_id": 680302, - "close_date": "12/10/2018", - "company_id": 27778967, - "company_name": "Augur", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 67248692, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 22, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1544469362, - "date_last_contacted": 1544491567, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1539204858, - "date_modified": 1544653867, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394021 } - ] - }, - { - "id": 14666626, - "name": "Autonio", - "assignee_id": 680302, - "close_date": "12/19/2018", - "company_id": 27920701, - "company_name": "Auton", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392931, - "primary_contact_id": 64742640, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 54, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542653834, - "date_last_contacted": 1542658568, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542653834, - "date_modified": 1542658808, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013, 394019] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14050921, - "name": "Axie Infinity 721 Marketplace", - "assignee_id": 680302, - "close_date": "11/1/2018", - "company_id": 27779033, - "company_name": "Axie Infinity", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392931, - "primary_contact_id": 66499254, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 4, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1543861025, - "date_last_contacted": 1539024738, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1538416687, - "date_modified": 1543861025, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394014] }, - { "custom_field_definition_id": 261067, "value": 394134 } - ] - }, - { - "id": 13735617, - "name": "Balance TW", - "assignee_id": 680302, - "close_date": "12/10/2018", - "company_id": 27778968, - "company_name": "Balance", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 64713448, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 34, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1544469382, - "date_last_contacted": 1545082200, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1535668009, - "date_modified": 1545082454, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394027 } - ] - }, - { - "id": 14667112, - "name": "Bamboo Relayer", - "assignee_id": 680302, - "close_date": "11/19/2018", - "company_id": 29243795, - "company_name": "Bamboo Relay", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 66914687, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 46, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542655143, - "date_last_contacted": 1545252349, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542655143, - "date_modified": 1545253761, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 13627309, - "name": "Ben TW", - "assignee_id": 680302, - "close_date": "1/1/2019", - "company_id": 27702348, - "company_name": "Ben", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 64262622, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 64, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1541527279, - "date_last_contacted": 1541639882, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1534887789, - "date_modified": 1541651395, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394027 } - ] - }, - { - "id": 14808512, - "name": "Bit2Me Relayer", - "assignee_id": 680302, - "close_date": "12/3/2018", - "company_id": 30793050, - "company_name": "Bit2Me", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405442, - "primary_contact_id": 70267217, - "priority": "None", - "status": "Won", - "tags": [], - "interaction_count": 0, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1543861167, - "date_last_contacted": null, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1543861167, - "date_modified": 1543861189, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394013] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14050312, - "name": "Bitcoin.tax Reporting Integration", - "assignee_id": 680302, - "close_date": "11/1/2018", - "company_id": 27957614, - "company_name": "Bitcoin", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392928, - "primary_contact_id": 66539479, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 5, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1538414308, - "date_last_contacted": 1536766098, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1538414308, - "date_modified": 1538414314, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394019] }, - { "custom_field_definition_id": 261067, "value": 394026 } - ] - }, - { - "id": 14331463, - "name": "Bitpie TW", - "assignee_id": 680302, - "close_date": "11/19/2018", - "company_id": 27779026, - "company_name": "Bitpie", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 67700943, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 9, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1539984566, - "date_last_contacted": 1541529947, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1539984566, - "date_modified": 1541530233, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394027 } - ] - }, - { - "id": 14331481, - "name": "Bitski Wallet SDK TW", - "assignee_id": 680302, - "close_date": "11/19/2018", - "company_id": 29489300, - "company_name": "Bitski", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 67697528, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 23, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1539984735, - "date_last_contacted": 1544811399, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1539984735, - "date_modified": 1544818605, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394026 } - ] - }, - { - "id": 14531554, - "name": "BitUniverse TW", - "assignee_id": 680302, - "close_date": "12/6/2018", - "company_id": 29901805, - "company_name": "BitUniverse Co., Ltd (Cryptocurrency Portfolio)", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 68692107, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 15, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1543861104, - "date_last_contacted": 1544803276, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1541527110, - "date_modified": 1544812979, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394026 } - ] - }, - { - "id": 14050895, - "name": "BlitzPredict PMR", - "assignee_id": 680302, - "close_date": "11/1/2018", - "company_id": 28758258, - "company_name": "BlitzPredict", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 66378659, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 32, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1539985501, - "date_last_contacted": 1544830560, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1538416597, - "date_modified": 1544830709, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394016] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - }, - { - "id": 14209841, - "name": "Blockfolio TW", - "assignee_id": 680302, - "close_date": "11/15/2018", - "company_id": 29332516, - "company_name": "Blockfolio", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2405443, - "primary_contact_id": 67247027, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 20, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1539984098, - "date_last_contacted": 1539977661, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1539624801, - "date_modified": 1539984098, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394015] }, - { "custom_field_definition_id": 261067, "value": 394026 } - ] - }, - { - "id": 14633220, - "name": "BlockSwap 721 / 1155 Conversational Marketplace", - "assignee_id": 680302, - "close_date": "12/15/2018", - "company_id": 30210921, - "company_name": "BlockSwap", - "customer_source_id": null, - "details": "blah blah", - "loss_reason_id": null, - "pipeline_id": 512676, - "pipeline_stage_id": 2392929, - "primary_contact_id": 69296220, - "priority": "None", - "status": "Open", - "tags": [], - "interaction_count": 82, - "monetary_unit": null, - "monetary_value": null, - "converted_unit": null, - "converted_value": null, - "win_probability": 0, - "date_stage_changed": 1542311056, - "date_last_contacted": 1543536442, - "leads_converted_from": [], - "date_lead_created": null, - "date_created": 1542311056, - "date_modified": 1543557877, - "custom_fields": [ - { "custom_field_definition_id": 261066, "value": [394014] }, - { "custom_field_definition_id": 261067, "value": 394023 } - ] - } -] diff --git a/packages/pipeline/test/fixtures/copper/api_v1_list_opportunities.ts b/packages/pipeline/test/fixtures/copper/api_v1_list_opportunities.ts deleted file mode 100644 index 3c2d4ae5e..000000000 --- a/packages/pipeline/test/fixtures/copper/api_v1_list_opportunities.ts +++ /dev/null @@ -1,425 +0,0 @@ -// tslint:disable:custom-no-magic-numbers -import { CopperOpportunity } from '../../../src/entities'; -const ParsedOpportunities: CopperOpportunity[] = [ - { - id: 14050269, - name: '8Base RaaS', - assigneeId: 680302, - closeDate: '11/19/2018', - companyId: 27778962, - companyName: '8base', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 66088850, - priority: 'None', - status: 'Won', - interactionCount: 81, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1538414159000, - dateModified: 1544769562000, - customFields: { '261066': 394018, '261067': 394026 }, - }, - { - id: 14631430, - name: 'Alice.si TW + ERC 20 Marketplace', - assigneeId: 680302, - closeDate: '12/15/2018', - companyId: 30238847, - companyName: 'Alice SI', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 69354024, - priority: 'None', - status: 'Open', - interactionCount: 4, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542304481000, - dateModified: 1542304943000, - customFields: { '261066': 394015, '261067': 394023 }, - }, - { - id: 14632057, - name: 'Altcoin.io Relayer', - assigneeId: 680302, - closeDate: '12/15/2018', - companyId: 29936486, - companyName: 'Altcoin.io', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 68724646, - priority: 'None', - status: 'Open', - interactionCount: 22, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542306827000, - dateModified: 1543864667000, - customFields: { '261066': 394017, '261067': 394023 }, - }, - { - id: 14667523, - name: 'Altcoin.io Relayer', - assigneeId: 680302, - closeDate: '12/19/2018', - companyId: 29936486, - companyName: 'Altcoin.io', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 68724646, - priority: 'None', - status: 'Open', - interactionCount: 21, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542657437000, - dateModified: 1543864667000, - customFields: { '261066': 394017, '261067': 394023 }, - }, - { - id: 14666706, - name: 'Amadeus Relayer', - assigneeId: 680302, - closeDate: '11/19/2018', - companyId: 29243209, - companyName: 'Amadeus', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 66912020, - priority: 'None', - status: 'Won', - interactionCount: 11, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542654284000, - dateModified: 1543277520000, - customFields: { '261066': 394013, '261067': 394023 }, - }, - { - id: 14666718, - name: 'Ambo Relayer', - assigneeId: 680302, - closeDate: '11/19/2018', - companyId: 29249190, - companyName: 'Ambo', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 66927869, - priority: 'None', - status: 'Won', - interactionCount: 126, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542654352000, - dateModified: 1545253761000, - customFields: { '261066': 394013, '261067': 394023 }, - }, - { - id: 14164318, - name: 'Augur TW', - assigneeId: 680302, - closeDate: '12/10/2018', - companyId: 27778967, - companyName: 'Augur', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 67248692, - priority: 'None', - status: 'Won', - interactionCount: 22, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1539204858000, - dateModified: 1544653867000, - customFields: { '261066': 394015, '261067': 394021 }, - }, - { - id: 14666626, - name: 'Autonio', - assigneeId: 680302, - closeDate: '12/19/2018', - companyId: 27920701, - companyName: 'Auton', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392931, - primaryContactId: 64742640, - priority: 'None', - status: 'Open', - interactionCount: 54, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542653834000, - dateModified: 1542658808000, - customFields: { '261066': 394019, '261067': 394023 }, - }, - { - id: 14050921, - name: 'Axie Infinity 721 Marketplace', - assigneeId: 680302, - closeDate: '11/1/2018', - companyId: 27779033, - companyName: 'Axie Infinity', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392931, - primaryContactId: 66499254, - priority: 'None', - status: 'Open', - interactionCount: 4, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1538416687000, - dateModified: 1543861025000, - customFields: { '261066': 394014, '261067': 394134 }, - }, - { - id: 13735617, - name: 'Balance TW', - assigneeId: 680302, - closeDate: '12/10/2018', - companyId: 27778968, - companyName: 'Balance', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 64713448, - priority: 'None', - status: 'Won', - interactionCount: 34, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1535668009000, - dateModified: 1545082454000, - customFields: { '261066': 394015, '261067': 394027 }, - }, - { - id: 14667112, - name: 'Bamboo Relayer', - assigneeId: 680302, - closeDate: '11/19/2018', - companyId: 29243795, - companyName: 'Bamboo Relay', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 66914687, - priority: 'None', - status: 'Won', - interactionCount: 46, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542655143000, - dateModified: 1545253761000, - customFields: { '261066': 394013, '261067': 394023 }, - }, - { - id: 13627309, - name: 'Ben TW', - assigneeId: 680302, - closeDate: '1/1/2019', - companyId: 27702348, - companyName: 'Ben', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 64262622, - priority: 'None', - status: 'Open', - interactionCount: 64, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1534887789000, - dateModified: 1541651395000, - customFields: { '261066': 394015, '261067': 394027 }, - }, - { - id: 14808512, - name: 'Bit2Me Relayer', - assigneeId: 680302, - closeDate: '12/3/2018', - companyId: 30793050, - companyName: 'Bit2Me', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405442, - primaryContactId: 70267217, - priority: 'None', - status: 'Won', - interactionCount: 0, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1543861167000, - dateModified: 1543861189000, - customFields: { '261066': 394013, '261067': 394023 }, - }, - { - id: 14050312, - name: 'Bitcoin.tax Reporting Integration', - assigneeId: 680302, - closeDate: '11/1/2018', - companyId: 27957614, - companyName: 'Bitcoin', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392928, - primaryContactId: 66539479, - priority: 'None', - status: 'Open', - interactionCount: 5, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1538414308000, - dateModified: 1538414314000, - customFields: { '261066': 394019, '261067': 394026 }, - }, - { - id: 14331463, - name: 'Bitpie TW', - assigneeId: 680302, - closeDate: '11/19/2018', - companyId: 27779026, - companyName: 'Bitpie', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 67700943, - priority: 'None', - status: 'Open', - interactionCount: 9, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1539984566000, - dateModified: 1541530233000, - customFields: { '261066': 394015, '261067': 394027 }, - }, - { - id: 14331481, - name: 'Bitski Wallet SDK TW', - assigneeId: 680302, - closeDate: '11/19/2018', - companyId: 29489300, - companyName: 'Bitski', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 67697528, - priority: 'None', - status: 'Open', - interactionCount: 23, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1539984735000, - dateModified: 1544818605000, - customFields: { '261066': 394015, '261067': 394026 }, - }, - { - id: 14531554, - name: 'BitUniverse TW', - assigneeId: 680302, - closeDate: '12/6/2018', - companyId: 29901805, - companyName: 'BitUniverse Co., Ltd (Cryptocurrency Portfolio)', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 68692107, - priority: 'None', - status: 'Open', - interactionCount: 15, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1541527110000, - dateModified: 1544812979000, - customFields: { '261066': 394015, '261067': 394026 }, - }, - { - id: 14050895, - name: 'BlitzPredict PMR', - assigneeId: 680302, - closeDate: '11/1/2018', - companyId: 28758258, - companyName: 'BlitzPredict', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 66378659, - priority: 'None', - status: 'Open', - interactionCount: 32, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1538416597000, - dateModified: 1544830709000, - customFields: { '261066': 394016, '261067': 394023 }, - }, - { - id: 14209841, - name: 'Blockfolio TW', - assigneeId: 680302, - closeDate: '11/15/2018', - companyId: 29332516, - companyName: 'Blockfolio', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2405443, - primaryContactId: 67247027, - priority: 'None', - status: 'Open', - interactionCount: 20, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1539624801000, - dateModified: 1539984098000, - customFields: { '261066': 394015, '261067': 394026 }, - }, - { - id: 14633220, - name: 'BlockSwap 721 / 1155 Conversational Marketplace', - assigneeId: 680302, - closeDate: '12/15/2018', - companyId: 30210921, - companyName: 'BlockSwap', - customerSourceId: undefined, - lossReasonId: undefined, - pipelineId: 512676, - pipelineStageId: 2392929, - primaryContactId: 69296220, - priority: 'None', - status: 'Open', - interactionCount: 82, - monetaryValue: undefined, - winProbability: 0, - dateCreated: 1542311056000, - dateModified: 1543557877000, - customFields: { '261066': 394014, '261067': 394023 }, - }, -]; -export { ParsedOpportunities }; diff --git a/packages/pipeline/test/fixtures/copper/parsed_entities.ts b/packages/pipeline/test/fixtures/copper/parsed_entities.ts deleted file mode 100644 index 1f49d38ed..000000000 --- a/packages/pipeline/test/fixtures/copper/parsed_entities.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { ParsedActivityTypes } from './api_v1_activity_types'; -export { ParsedCustomFields } from './api_v1_custom_field_definitions'; -export { ParsedActivities } from './api_v1_list_activities'; -export { ParsedLeads } from './api_v1_list_leads'; -export { ParsedOpportunities } from './api_v1_list_opportunities'; diff --git a/packages/pipeline/test/parsers/bloxy/index_test.ts b/packages/pipeline/test/parsers/bloxy/index_test.ts deleted file mode 100644 index d270bd2a7..000000000 --- a/packages/pipeline/test/parsers/bloxy/index_test.ts +++ /dev/null @@ -1,100 +0,0 @@ -// tslint:disable:custom-no-magic-numbers -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; -import * as R from 'ramda'; - -import { BLOXY_DEX_TRADES_URL, BloxyTrade } from '../../../src/data_sources/bloxy'; -import { DexTrade } from '../../../src/entities'; -import { _parseBloxyTrade } from '../../../src/parsers/bloxy'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -const baseInput: BloxyTrade = { - tx_hash: '0xb93a7faf92efbbb5405c9a73cd4efd99702fe27c03ff22baee1f1b1e37b3a0bf', - tx_time: '2018-11-21T09:06:28.000+00:00', - tx_date: '2018-11-21', - tx_sender: '0x00923b9a074762b93650716333b3e1473a15048e', - tradeIndex: '1', - smart_contract_id: 7091917, - smart_contract_address: '0x818e6fecd516ecc3849daf6845e3ec868087b755', - contract_type: 'DEX/Kyber Network Proxy', - maker: '0x0000000000000000000000000000000000000001', - taker: '0x0000000000000000000000000000000000000002', - amountBuy: 1.011943163078103, - makerFee: 38.912083, - buyCurrencyId: 1, - buySymbol: 'ETH', - amountSell: 941.4997928436911, - takerFee: 100.39, - sellCurrencyId: 16610, - sellSymbol: 'ELF', - maker_annotation: 'random annotation', - taker_annotation: 'random other annotation', - protocol: 'Kyber Network Proxy', - buyAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100d', - sellAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100e', -}; - -const baseExpected: DexTrade = { - sourceUrl: BLOXY_DEX_TRADES_URL, - txHash: '0xb93a7faf92efbbb5405c9a73cd4efd99702fe27c03ff22baee1f1b1e37b3a0bf', - tradeIndex: '1', - txTimestamp: 1542791188000, - txDate: '2018-11-21', - txSender: '0x00923b9a074762b93650716333b3e1473a15048e', - smartContractId: 7091917, - smartContractAddress: '0x818e6fecd516ecc3849daf6845e3ec868087b755', - contractType: 'DEX/Kyber Network Proxy', - maker: '0x0000000000000000000000000000000000000001', - taker: '0x0000000000000000000000000000000000000002', - amountBuy: new BigNumber('1.011943163078103'), - makerFeeAmount: new BigNumber('38.912083'), - buyCurrencyId: 1, - buySymbol: 'ETH', - amountSell: new BigNumber('941.4997928436911'), - takerFeeAmount: new BigNumber('100.39'), - sellCurrencyId: 16610, - sellSymbol: 'ELF', - makerAnnotation: 'random annotation', - takerAnnotation: 'random other annotation', - protocol: 'Kyber Network Proxy', - buyAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100d', - sellAddress: '0xbf2179859fc6d5bee9bf9158632dc51678a4100e', -}; - -interface TestCase { - input: BloxyTrade; - expected: DexTrade; -} - -const testCases: TestCase[] = [ - { - input: baseInput, - expected: baseExpected, - }, - { - input: R.merge(baseInput, { buyAddress: null, sellAddress: null }), - expected: R.merge(baseExpected, { buyAddress: null, sellAddress: null }), - }, - { - input: R.merge(baseInput, { - buySymbol: - 'RING\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000', - }), - expected: R.merge(baseExpected, { buySymbol: 'RING' }), - }, -]; - -describe('bloxy', () => { - describe('_parseBloxyTrade', () => { - for (const [i, testCase] of testCases.entries()) { - it(`converts BloxyTrade to DexTrade entity (${i + 1}/${testCases.length})`, () => { - const actual = _parseBloxyTrade(testCase.input); - expect(actual).deep.equal(testCase.expected); - }); - } - }); -}); diff --git a/packages/pipeline/test/parsers/copper/index_test.ts b/packages/pipeline/test/parsers/copper/index_test.ts deleted file mode 100644 index bb8e70da1..000000000 --- a/packages/pipeline/test/parsers/copper/index_test.ts +++ /dev/null @@ -1,87 +0,0 @@ -import * as chai from 'chai'; -import 'mocha'; - -import { - CopperActivity, - CopperActivityType, - CopperCustomField, - CopperLead, - CopperOpportunity, -} from '../../../src/entities'; -import { - CopperActivityResponse, - CopperActivityTypeCategory, - CopperActivityTypeResponse, - CopperCustomFieldResponse, - CopperSearchResponse, - parseActivities, - parseActivityTypes, - parseCustomFields, - parseLeads, - parseOpportunities, -} from '../../../src/parsers/copper'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -type CopperResponse = CopperSearchResponse | CopperCustomFieldResponse; -type CopperEntity = CopperLead | CopperActivity | CopperOpportunity | CopperActivityType | CopperCustomField; - -import * as activityTypesApiResponse from '../../fixtures/copper/api_v1_activity_types.json'; -import * as customFieldsApiResponse from '../../fixtures/copper/api_v1_custom_field_definitions.json'; -import * as listActivitiesApiResponse from '../../fixtures/copper/api_v1_list_activities.json'; -import * as listLeadsApiResponse from '../../fixtures/copper/api_v1_list_leads.json'; -import * as listOpportunitiesApiResponse from '../../fixtures/copper/api_v1_list_opportunities.json'; -import { - ParsedActivities, - ParsedActivityTypes, - ParsedCustomFields, - ParsedLeads, - ParsedOpportunities, -} from '../../fixtures/copper/parsed_entities'; - -interface TestCase { - input: CopperResponse[]; - expected: CopperEntity[]; - parseFn(input: CopperResponse[]): CopperEntity[]; -} -const testCases: TestCase[] = [ - { - input: listLeadsApiResponse, - expected: ParsedLeads, - parseFn: parseLeads, - }, - { - input: (listActivitiesApiResponse as unknown) as CopperActivityResponse[], - expected: ParsedActivities, - parseFn: parseActivities, - }, - { - input: listOpportunitiesApiResponse, - expected: ParsedOpportunities, - parseFn: parseOpportunities, - }, - { - input: customFieldsApiResponse, - expected: ParsedCustomFields, - parseFn: parseCustomFields, - }, -]; -describe('Copper parser', () => { - it('parses API responses', () => { - testCases.forEach(testCase => { - const actual: CopperEntity[] = testCase.parseFn(testCase.input); - expect(actual).deep.equal(testCase.expected); - }); - }); - - // special case because the API response is not an array - it('parses activity types API response', () => { - const actual: CopperActivityType[] = parseActivityTypes((activityTypesApiResponse as unknown) as Map< - CopperActivityTypeCategory, - CopperActivityTypeResponse[] - >); - expect(actual).deep.equal(ParsedActivityTypes); - }); -}); diff --git a/packages/pipeline/test/parsers/ddex_orders/index_test.ts b/packages/pipeline/test/parsers/ddex_orders/index_test.ts deleted file mode 100644 index d6f69e090..000000000 --- a/packages/pipeline/test/parsers/ddex_orders/index_test.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { DdexMarket } from '../../../src/data_sources/ddex'; -import { TokenOrderbookSnapshot as TokenOrder } from '../../../src/entities'; -import { parseDdexOrder } from '../../../src/parsers/ddex_orders'; -import { OrderType } from '../../../src/types'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('ddex_orders', () => { - describe('parseDdexOrder', () => { - it('converts ddexOrder to TokenOrder entity', () => { - const ddexOrder: [string, BigNumber] = ['0.5', new BigNumber(10)]; - const ddexMarket: DdexMarket = { - id: 'ABC-DEF', - quoteToken: 'ABC', - quoteTokenDecimals: 5, - quoteTokenAddress: '0x0000000000000000000000000000000000000000', - baseToken: 'DEF', - baseTokenDecimals: 2, - baseTokenAddress: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', - minOrderSize: '0.1', - pricePrecision: 1, - priceDecimals: 1, - amountDecimals: 0, - }; - const observedTimestamp: number = Date.now(); - const orderType: OrderType = OrderType.Bid; - const source: string = 'ddex'; - - const expected = new TokenOrder(); - expected.source = 'ddex'; - expected.observedTimestamp = observedTimestamp; - expected.orderType = OrderType.Bid; - expected.price = new BigNumber(0.5); - expected.quoteAssetSymbol = 'ABC'; - expected.quoteAssetAddress = '0x0000000000000000000000000000000000000000'; - expected.quoteVolume = new BigNumber(5); - expected.baseAssetSymbol = 'DEF'; - expected.baseAssetAddress = '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81'; - expected.baseVolume = new BigNumber(10); - - const actual = parseDdexOrder(ddexMarket, observedTimestamp, orderType, source, ddexOrder); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/events/erc20_events_test.ts b/packages/pipeline/test/parsers/events/erc20_events_test.ts deleted file mode 100644 index 962c50f98..000000000 --- a/packages/pipeline/test/parsers/events/erc20_events_test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { ERC20TokenApprovalEventArgs } from '@0x/contract-wrappers'; -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import { LogWithDecodedArgs } from 'ethereum-types'; -import 'mocha'; - -import { ERC20ApprovalEvent } from '../../../src/entities'; -import { _convertToERC20ApprovalEvent } from '../../../src/parsers/events/erc20_events'; -import { _convertToExchangeFillEvent } from '../../../src/parsers/events/exchange_events'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('erc20_events', () => { - describe('_convertToERC20ApprovalEvent', () => { - it('converts LogWithDecodedArgs to ERC20ApprovalEvent entity', () => { - const input: LogWithDecodedArgs<ERC20TokenApprovalEventArgs> = { - address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - blockHash: '0xd2d7aafaa7102aec0bca8ef026d5a85133e87892334c46ee1e92e42912991c9b', - blockNumber: 6281577, - data: '0x000000000000000000000000000000000000000000000002b9cba5ee21ad3df9', - logIndex: 43, - topics: [ - '0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925', - '0x0000000000000000000000000b65c5f6f3a05d6be5588a72b603360773b3fe04', - '0x000000000000000000000000448a5065aebb8e423f0896e6c5d525c040f59af3', - ], - transactionHash: '0xcb46b19c786376a0a0140d51e3e606a4c4f926d8ca5434e96d2f69d04d8d9c7f', - transactionIndex: 103, - event: 'Approval', - args: { - _owner: '0x0b65c5f6f3a05d6be5588a72b603360773b3fe04', - _spender: '0x448a5065aebb8e423f0896e6c5d525c040f59af3', - _value: new BigNumber('50281464906893835769'), - }, - }; - - const expected = new ERC20ApprovalEvent(); - expected.tokenAddress = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; - expected.blockNumber = 6281577; - expected.rawData = '0x000000000000000000000000000000000000000000000002b9cba5ee21ad3df9'; - expected.logIndex = 43; - expected.transactionHash = '0xcb46b19c786376a0a0140d51e3e606a4c4f926d8ca5434e96d2f69d04d8d9c7f'; - expected.ownerAddress = '0x0b65c5f6f3a05d6be5588a72b603360773b3fe04'; - expected.spenderAddress = '0x448a5065aebb8e423f0896e6c5d525c040f59af3'; - expected.amount = new BigNumber('50281464906893835769'); - - const actual = _convertToERC20ApprovalEvent(input); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/events/exchange_events_test.ts b/packages/pipeline/test/parsers/events/exchange_events_test.ts deleted file mode 100644 index 956ad9ef8..000000000 --- a/packages/pipeline/test/parsers/events/exchange_events_test.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { ExchangeFillEventArgs } from '@0x/contract-wrappers'; -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import { LogWithDecodedArgs } from 'ethereum-types'; -import 'mocha'; - -import { ExchangeFillEvent } from '../../../src/entities'; -import { _convertToExchangeFillEvent } from '../../../src/parsers/events/exchange_events'; -import { AssetType } from '../../../src/types'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('exchange_events', () => { - describe('_convertToExchangeFillEvent', () => { - it('converts LogWithDecodedArgs to ExchangeFillEvent entity', () => { - const input: LogWithDecodedArgs<ExchangeFillEventArgs> = { - logIndex: 102, - transactionIndex: 38, - transactionHash: '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe', - blockHash: '', - blockNumber: 6276262, - address: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b', - data: - '0x000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000024f47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f49800000000000000000000000000000000000000000000000000000000', - topics: [ - '0x0bcc4c97732e47d9946f229edb95f5b6323f601300e4690de719993f3c371129', - '0x000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428', - '0x000000000000000000000000c370d2a5920344aa6b7d8d11250e3e861434cbdd', - '0xab12ed2cbaa5615ab690b9da75a46e53ddfcf3f1a68655b5fe0d94c75a1aac4a', - ], - event: 'Fill', - args: { - makerAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - feeRecipientAddress: '0xc370d2a5920344aa6b7d8d11250e3e861434cbdd', - takerAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - senderAddress: '0xf6da68519f78b0d0bc93c701e86affcb75c92428', - makerAssetFilledAmount: new BigNumber('10000000000000000'), - takerAssetFilledAmount: new BigNumber('100000000000000000'), - makerFeePaid: new BigNumber('0'), - takerFeePaid: new BigNumber('12345'), - orderHash: '0xab12ed2cbaa5615ab690b9da75a46e53ddfcf3f1a68655b5fe0d94c75a1aac4a', - makerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - takerAssetData: '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498', - }, - }; - const expected = new ExchangeFillEvent(); - expected.contractAddress = '0x4f833a24e1f95d70f028921e27040ca56e09ab0b'; - expected.blockNumber = 6276262; - expected.logIndex = 102; - expected.rawData = - '0x000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428000000000000000000000000f6da68519f78b0d0bc93c701e86affcb75c92428000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000024f47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024f47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f49800000000000000000000000000000000000000000000000000000000'; - expected.transactionHash = '0x6dd106d002873746072fc5e496dd0fb2541b68c77bcf9184ae19a42fd33657fe'; - expected.makerAddress = '0xf6da68519f78b0d0bc93c701e86affcb75c92428'; - expected.takerAddress = '0xf6da68519f78b0d0bc93c701e86affcb75c92428'; - expected.feeRecipientAddress = '0xc370d2a5920344aa6b7d8d11250e3e861434cbdd'; - expected.senderAddress = '0xf6da68519f78b0d0bc93c701e86affcb75c92428'; - expected.makerAssetFilledAmount = new BigNumber('10000000000000000'); - expected.takerAssetFilledAmount = new BigNumber('100000000000000000'); - expected.makerFeePaid = new BigNumber('0'); - expected.takerFeePaid = new BigNumber('12345'); - expected.orderHash = '0xab12ed2cbaa5615ab690b9da75a46e53ddfcf3f1a68655b5fe0d94c75a1aac4a'; - expected.rawMakerAssetData = '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; - expected.makerAssetType = AssetType.ERC20; - expected.makerAssetProxyId = '0xf47261b0'; - expected.makerTokenAddress = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; - expected.makerTokenId = null; - expected.rawTakerAssetData = '0xf47261b0000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498'; - expected.takerAssetType = AssetType.ERC20; - expected.takerAssetProxyId = '0xf47261b0'; - expected.takerTokenAddress = '0xe41d2489571d322189246dafa5ebde1f4699f498'; - expected.takerTokenId = null; - const actual = _convertToExchangeFillEvent(input); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/idex_orders/index_test.ts b/packages/pipeline/test/parsers/idex_orders/index_test.ts deleted file mode 100644 index 48b019732..000000000 --- a/packages/pipeline/test/parsers/idex_orders/index_test.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { IdexOrderParam } from '../../../src/data_sources/idex'; -import { TokenOrderbookSnapshot as TokenOrder } from '../../../src/entities'; -import { parseIdexOrder } from '../../../src/parsers/idex_orders'; -import { OrderType } from '../../../src/types'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('idex_orders', () => { - describe('parseIdexOrder', () => { - // for market listed as 'DEF_ABC'. - it('correctly converts bid type idexOrder to TokenOrder entity', () => { - const idexOrder: [string, BigNumber] = ['0.5', new BigNumber(10)]; - const idexOrderParam: IdexOrderParam = { - tokenBuy: '0x0000000000000000000000000000000000000000', - buySymbol: 'ABC', - buyPrecision: 2, - amountBuy: '10', - tokenSell: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', - sellSymbol: 'DEF', - sellPrecision: 2, - amountSell: '5', - expires: Date.now() + 100000, - nonce: 1, - user: '0x212345667543456435324564345643453453333', - }; - const observedTimestamp: number = Date.now(); - const orderType: OrderType = OrderType.Bid; - const source: string = 'idex'; - - const expected = new TokenOrder(); - expected.source = 'idex'; - expected.observedTimestamp = observedTimestamp; - expected.orderType = OrderType.Bid; - expected.price = new BigNumber(0.5); - expected.baseAssetSymbol = 'ABC'; - expected.baseAssetAddress = '0x0000000000000000000000000000000000000000'; - expected.baseVolume = new BigNumber(10); - expected.quoteAssetSymbol = 'DEF'; - expected.quoteAssetAddress = '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81'; - expected.quoteVolume = new BigNumber(5); - - const actual = parseIdexOrder(idexOrderParam, observedTimestamp, orderType, source, idexOrder); - expect(actual).deep.equal(expected); - }); - it('correctly converts ask type idexOrder to TokenOrder entity', () => { - const idexOrder: [string, BigNumber] = ['0.5', new BigNumber(10)]; - const idexOrderParam: IdexOrderParam = { - tokenBuy: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', - buySymbol: 'DEF', - buyPrecision: 2, - amountBuy: '5', - tokenSell: '0x0000000000000000000000000000000000000000', - sellSymbol: 'ABC', - sellPrecision: 2, - amountSell: '10', - expires: Date.now() + 100000, - nonce: 1, - user: '0x212345667543456435324564345643453453333', - }; - const observedTimestamp: number = Date.now(); - const orderType: OrderType = OrderType.Ask; - const source: string = 'idex'; - - const expected = new TokenOrder(); - expected.source = 'idex'; - expected.observedTimestamp = observedTimestamp; - expected.orderType = OrderType.Ask; - expected.price = new BigNumber(0.5); - expected.baseAssetSymbol = 'ABC'; - expected.baseAssetAddress = '0x0000000000000000000000000000000000000000'; - expected.baseVolume = new BigNumber(10); - expected.quoteAssetSymbol = 'DEF'; - expected.quoteAssetAddress = '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81'; - expected.quoteVolume = new BigNumber(5); - - const actual = parseIdexOrder(idexOrderParam, observedTimestamp, orderType, source, idexOrder); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/oasis_orders/index_test.ts b/packages/pipeline/test/parsers/oasis_orders/index_test.ts deleted file mode 100644 index 401fedff8..000000000 --- a/packages/pipeline/test/parsers/oasis_orders/index_test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { OasisMarket } from '../../../src/data_sources/oasis'; -import { TokenOrderbookSnapshot as TokenOrder } from '../../../src/entities'; -import { parseOasisOrder } from '../../../src/parsers/oasis_orders'; -import { OrderType } from '../../../src/types'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('oasis_orders', () => { - describe('parseOasisOrder', () => { - it('converts oasisOrder to TokenOrder entity', () => { - const oasisOrder: [string, BigNumber] = ['0.5', new BigNumber(10)]; - const oasisMarket: OasisMarket = { - id: 'ABCDEF', - base: 'DEF', - quote: 'ABC', - buyVol: 100, - sellVol: 200, - price: 1, - high: 1, - low: 0, - }; - const observedTimestamp: number = Date.now(); - const orderType: OrderType = OrderType.Bid; - const source: string = 'oasis'; - - const expected = new TokenOrder(); - expected.source = 'oasis'; - expected.observedTimestamp = observedTimestamp; - expected.orderType = OrderType.Bid; - expected.price = new BigNumber(0.5); - expected.baseAssetSymbol = 'DEF'; - expected.baseAssetAddress = null; - expected.baseVolume = new BigNumber(10); - expected.quoteAssetSymbol = 'ABC'; - expected.quoteAssetAddress = null; - expected.quoteVolume = new BigNumber(5); - - const actual = parseOasisOrder(oasisMarket, observedTimestamp, orderType, source, oasisOrder); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/ohlcv_external/crypto_compare_test.ts b/packages/pipeline/test/parsers/ohlcv_external/crypto_compare_test.ts deleted file mode 100644 index 118cafc5e..000000000 --- a/packages/pipeline/test/parsers/ohlcv_external/crypto_compare_test.ts +++ /dev/null @@ -1,62 +0,0 @@ -import * as chai from 'chai'; -import 'mocha'; -import * as R from 'ramda'; - -import { CryptoCompareOHLCVRecord } from '../../../src/data_sources/ohlcv_external/crypto_compare'; -import { OHLCVExternal } from '../../../src/entities'; -import { OHLCVMetadata, parseRecords } from '../../../src/parsers/ohlcv_external/crypto_compare'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('ohlcv_external parser (Crypto Compare)', () => { - describe('parseRecords', () => { - const record: CryptoCompareOHLCVRecord = { - time: 200, - close: 100, - high: 101, - low: 99, - open: 98, - volumefrom: 1234, - volumeto: 4321, - }; - - const metadata: OHLCVMetadata = { - fromSymbol: 'ETH', - toSymbol: 'ZRX', - exchange: 'CCCAGG', - source: 'CryptoCompare', - observedTimestamp: new Date().getTime(), - interval: 100000, - }; - - const entity = new OHLCVExternal(); - entity.exchange = metadata.exchange; - entity.fromSymbol = metadata.fromSymbol; - entity.toSymbol = metadata.toSymbol; - entity.startTime = 100000; - entity.endTime = 200000; - entity.open = record.open; - entity.close = record.close; - entity.low = record.low; - entity.high = record.high; - entity.volumeFrom = record.volumefrom; - entity.volumeTo = record.volumeto; - entity.source = metadata.source; - entity.observedTimestamp = metadata.observedTimestamp; - - it('converts Crypto Compare OHLCV records to OHLCVExternal entity', () => { - const input = [record, R.merge(record, { time: 300 }), R.merge(record, { time: 400 })]; - const expected = [ - entity, - R.merge(entity, { startTime: 200000, endTime: 300000 }), - R.merge(entity, { startTime: 300000, endTime: 400000 }), - ]; - - const actual = parseRecords(input, metadata); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/paradex_orders/index_test.ts b/packages/pipeline/test/parsers/paradex_orders/index_test.ts deleted file mode 100644 index c5dd8751b..000000000 --- a/packages/pipeline/test/parsers/paradex_orders/index_test.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { ParadexMarket, ParadexOrder } from '../../../src/data_sources/paradex'; -import { TokenOrderbookSnapshot as TokenOrder } from '../../../src/entities'; -import { parseParadexOrder } from '../../../src/parsers/paradex_orders'; -import { OrderType } from '../../../src/types'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('paradex_orders', () => { - describe('parseParadexOrder', () => { - it('converts ParadexOrder to TokenOrder entity', () => { - const paradexOrder: ParadexOrder = { - amount: '412', - price: '0.1245', - }; - const paradexMarket: ParadexMarket = { - id: '2', - symbol: 'ABC/DEF', - baseToken: 'DEF', - quoteToken: 'ABC', - minOrderSize: '0.1', - maxOrderSize: '1000', - priceMaxDecimals: 5, - amountMaxDecimals: 5, - baseTokenAddress: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', - quoteTokenAddress: '0x0000000000000000000000000000000000000000', - }; - const observedTimestamp: number = Date.now(); - const orderType: OrderType = OrderType.Bid; - const source: string = 'paradex'; - - const expected = new TokenOrder(); - expected.source = 'paradex'; - expected.observedTimestamp = observedTimestamp; - expected.orderType = OrderType.Bid; - expected.price = new BigNumber(0.1245); - expected.baseAssetSymbol = 'DEF'; - expected.baseAssetAddress = '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81'; - expected.baseVolume = new BigNumber(412); - expected.quoteAssetSymbol = 'ABC'; - expected.quoteAssetAddress = '0x0000000000000000000000000000000000000000'; - expected.quoteVolume = new BigNumber(412 * 0.1245); - - const actual = parseParadexOrder(paradexMarket, observedTimestamp, orderType, source, paradexOrder); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/sra_orders/index_test.ts b/packages/pipeline/test/parsers/sra_orders/index_test.ts deleted file mode 100644 index 838171a72..000000000 --- a/packages/pipeline/test/parsers/sra_orders/index_test.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { APIOrder } from '@0x/types'; -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { SraOrder } from '../../../src/entities'; -import { _convertToEntity } from '../../../src/parsers/sra_orders'; -import { AssetType } from '../../../src/types'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('sra_orders', () => { - describe('_convertToEntity', () => { - it('converts ApiOrder to SraOrder entity', () => { - const input: APIOrder = { - order: { - makerAddress: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', - takerAddress: '0x0000000000000000000000000000000000000000', - feeRecipientAddress: '0xa258b39954cef5cb142fd567a46cddb31a670124', - senderAddress: '0x0000000000000000000000000000000000000000', - makerAssetAmount: new BigNumber('1619310371000000000'), - takerAssetAmount: new BigNumber('8178335207070707070707'), - makerFee: new BigNumber('0'), - takerFee: new BigNumber('0'), - exchangeAddress: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b', - expirationTimeSeconds: new BigNumber('1538529488'), - signature: - '0x1b5a5d672b0d647b5797387ccbb89d822d5d2e873346b014f4ff816ff0783f2a7a0d2824d2d7042ec8ea375bc7f870963e1cb8248f1db03ddf125e27b5963aa11f03', - salt: new BigNumber('1537924688891'), - makerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - takerAssetData: '0xf47261b000000000000000000000000042d6622dece394b54999fbd73d108123806f6a18', - }, - metaData: { isThisArbitraryData: true, powerLevel: 9001 }, - }; - const expected = new SraOrder(); - expected.exchangeAddress = '0x4f833a24e1f95d70f028921e27040ca56e09ab0b'; - expected.orderHashHex = '0x1bdbeb0d088a33da28b9ee6d94e8771452f90f4a69107da2fa75195d61b9a1c9'; - expected.makerAddress = '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81'; - expected.takerAddress = '0x0000000000000000000000000000000000000000'; - expected.feeRecipientAddress = '0xa258b39954cef5cb142fd567a46cddb31a670124'; - expected.senderAddress = '0x0000000000000000000000000000000000000000'; - expected.makerAssetAmount = new BigNumber('1619310371000000000'); - expected.takerAssetAmount = new BigNumber('8178335207070707070707'); - expected.makerFee = new BigNumber('0'); - expected.takerFee = new BigNumber('0'); - expected.expirationTimeSeconds = new BigNumber('1538529488'); - expected.salt = new BigNumber('1537924688891'); - expected.signature = - '0x1b5a5d672b0d647b5797387ccbb89d822d5d2e873346b014f4ff816ff0783f2a7a0d2824d2d7042ec8ea375bc7f870963e1cb8248f1db03ddf125e27b5963aa11f03'; - expected.rawMakerAssetData = '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; - expected.makerAssetType = AssetType.ERC20; - expected.makerAssetProxyId = '0xf47261b0'; - expected.makerTokenAddress = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'; - expected.makerTokenId = null; - expected.rawTakerAssetData = '0xf47261b000000000000000000000000042d6622dece394b54999fbd73d108123806f6a18'; - expected.takerAssetType = AssetType.ERC20; - expected.takerAssetProxyId = '0xf47261b0'; - expected.takerTokenAddress = '0x42d6622dece394b54999fbd73d108123806f6a18'; - expected.takerTokenId = null; - expected.metadataJson = '{"isThisArbitraryData":true,"powerLevel":9001}'; - - const actual = _convertToEntity(input); - expect(actual).deep.equal(expected); - }); - }); -}); diff --git a/packages/pipeline/test/parsers/utils/index_test.ts b/packages/pipeline/test/parsers/utils/index_test.ts deleted file mode 100644 index 5a0d0f182..000000000 --- a/packages/pipeline/test/parsers/utils/index_test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { aggregateOrders, GenericRawOrder } from '../../../src/parsers/utils'; -import { chaiSetup } from '../../utils/chai_setup'; - -chaiSetup.configure(); -const expect = chai.expect; - -// tslint:disable:custom-no-magic-numbers -describe('aggregateOrders', () => { - it('aggregates order by price point', () => { - const input = [ - { price: '1', amount: '20', orderHash: 'testtest', total: '20' }, - { price: '1', amount: '30', orderHash: 'testone', total: '30' }, - { price: '2', amount: '100', orderHash: 'testtwo', total: '200' }, - ]; - const expected = [['1', new BigNumber(50)], ['2', new BigNumber(100)]]; - const actual = aggregateOrders(input); - expect(actual).deep.equal(expected); - }); - - it('handles empty orders gracefully', () => { - const input: GenericRawOrder[] = []; - const expected: Array<[string, BigNumber]> = []; - const actual = aggregateOrders(input); - expect(actual).deep.equal(expected); - }); -}); diff --git a/packages/pipeline/test/utils/chai_setup.ts b/packages/pipeline/test/utils/chai_setup.ts deleted file mode 100644 index 1a8733093..000000000 --- a/packages/pipeline/test/utils/chai_setup.ts +++ /dev/null @@ -1,13 +0,0 @@ -import * as chai from 'chai'; -import chaiAsPromised = require('chai-as-promised'); -import ChaiBigNumber = require('chai-bignumber'); -import * as dirtyChai from 'dirty-chai'; - -export const chaiSetup = { - configure(): void { - chai.config.includeStack = true; - chai.use(ChaiBigNumber()); - chai.use(dirtyChai); - chai.use(chaiAsPromised); - }, -}; |