-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Closed
Labels
Description
🐛 Bug Report
I upgraded from 24.X to 26.0.0 but now test that was passing is not
Running test takes long time to complete then I get this error

To Reproduce
My test:
describe('when item ids are in sessionStorage', () => {
const itemIds = [333, 222, 111];
beforeEach(() => {
parseLocationToQueries.mockImplementation(() => ({
queue_id: testQueueId
}));
isAdHocReviewByItemId.mockReturnValue(false);
isAdHocReviewByObjId.mockReturnValue(false);
setItemsToBeReviewed(itemIds);
});
it('initial fetch', () => {
const wrapper = tf.render();
expect(wrapper.state('itemIds')).toEqual([]);
expect(axios.post).toBeCalledWith('/review/items', { item_ids: itemIds });
});
it('fetch more while no more', () => {
const wrapper = tf.render();
axios.post.mockClear();
wrapper.instance().fetchMoreItems();
expect(axios.post).not.toBeCalled();
});
it('fetch more while more', () => {
const wrapper = tf.render();
axios.post.mockClear();
wrapper.setState({ itemIds: [555] });
wrapper.instance().fetchMoreItems();
expect(axios.post).toBeCalledWith('/review/items', { item_ids: [555] });
});
});
code:
export function setItemsToBeReviewed(itemIds) {
sessionStorage.setItem(ITEMS_TO_BE_REVIEWED_KEY, JSON.stringify(itemIds));
}
fetchMoreItems = () => {
this.setState({ loadingMoreItems: true });
return this.fetchItems(true)
.then(res => {
this.loadData(res.data);
})
.catch(error => {
console.log('FetchmoreError', error);
});
};
fetchItems = (excludeAssigned: boolean = false) => {
let request;
if (this.state.itemIds) {
request = this.fetchItemsByIds();
} else {
request = this.fetchItemsFIFO(excludeAssigned);
}
return request;
};
fetchItemsFIFO = (excludeAssigned: boolean = false) => {
const { isAlignment, queueIdFromURL } = this.state;
const url = '/review/assign';
const params = {
alignment: isAlignment,
queue_id: queueIdFromURL,
exclude_assigned: excludeAssigned
};
return axios.get<any>(url, { params });
};
fetchItemsByIds = () => {
if (_.isEmpty(this.state.itemIds)) {
return Promise.resolve({ data: [] });
}
const url = '/review/items';
const data = {
item_ids: _.slice(this.state.itemIds, 0, FETCH_BATCH_SIZE)
};
this.setState(state => ({
itemIds: _.slice(state.itemIds, FETCH_BATCH_SIZE)
}));
return axios.post<any, any>(url, data);
};
jest.config:
module.exports = {
timers: 'fake',
moduleDirectories: ['node_modules'],
moduleFileExtensions: ['js', 'jsx'],
moduleNameMapper: {
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
'<rootDir>/__mocks__/fileMock.js',
'\\.(css|less)$': '<rootDir>/__mocks__/styleMock.js',
'^Root(.*)$': '<rootDir>$1',
'^Utils(.*)$': '<rootDir>/src/utils$1',
'^Hoc(.*)$': '<rootDir>/src/hoc$1',
'^Components(.*)$': '<rootDir>/src/components$1'
},
testRegex: 'test\\.jsx?$',
testURL: 'http://localhost:3000',
collectCoverageFrom: [
'src/**/*.js',
'src/**/*.jsx',
'!**/node_modules/**',
'!src/components/bulk_review/columns/**',
'!src/components/v2/**'
],
coverageReporters: ['html', 'text'],
coverageThreshold: {
global: {
branches: 90,
functions: 90,
lines: 90,
statements: 90
}
},
coverageDirectory: 'coverage',
snapshotSerializers: ['enzyme-to-json/serializer'],
testEnvironment: '<rootDir>/jest-environment.js',
setupFilesAfterEnv: ['<rootDir>/enzyme.setup.js'],
setupFiles: [
'<rootDir>/__mocks__/localStorageMock.js',
'<rootDir>/__mocks__/consoleMock.js'
],
globals: {
ENVIRONMENT: 'TESTING'
},
testPathIgnorePatterns: ['<rootDir>/src/components/v2'],
reporters: [
'default',
[
'jest-html-reporter',
{
pageTitle: 'Test Report',
statusIgnoreFilter: 'passed',
includeFailureMsg: 'true'
}
]
]
};
envinfo
System:
OS: Linux 4.15 Ubuntu 18.04.4 LTS (Bionic Beaver)
CPU: (36) x64 Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz
Binaries:
Node: 14.1.0 - ~/.nvm/versions/node/v14.1.0/bin/node
Yarn: 1.22.4 - /usr/bin/yarn
npm: 6.14.4 - ~/.nvm/versions/node/v14.1.0/bin/npm
npmPackages:
jest: ^26.0.0 => 26.0.0
alexfromapex, JackCA, AceGentile, C0ZEN, steelx and 55 morerimiti and washingtonsoares