@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
105 lines (96 loc) • 2.82 kB
JavaScript
"use strict";
var _reactHooks = require("@testing-library/react-hooks");
var _useTableSort = require("../useTableSort");
var _useTableSort2 = _interopRequireDefault(_useTableSort);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Table V2 @ hooks/useTableSort spec', function () {
it('sorts ASC correctly', function () {
var _renderHook = (0, _reactHooks.renderHook)(function () {
return (0, _useTableSort2.default)();
}),
result = _renderHook.result;
expect(result.current.sorted).toEqual({
by: null,
order: null
});
(0, _reactHooks.act)(function () {
result.current.sort('name');
});
expect(result.current.sorted).toEqual({
by: 'name',
order: _useTableSort.SortOrder.ASC
});
});
it('sorts DSC correctly', function () {
var _renderHook2 = (0, _reactHooks.renderHook)(function () {
return (0, _useTableSort2.default)();
}),
result = _renderHook2.result;
expect(result.current.sorted).toEqual({
by: null,
order: null
});
(0, _reactHooks.act)(function () {
result.current.sort('name');
});
expect(result.current.sorted).toEqual({
by: 'name',
order: _useTableSort.SortOrder.ASC
});
(0, _reactHooks.act)(function () {
result.current.sort('name');
});
expect(result.current.sorted).toEqual({
by: 'name',
order: _useTableSort.SortOrder.DSC
});
});
it('changes base correctly', function () {
var _renderHook3 = (0, _reactHooks.renderHook)(function () {
return (0, _useTableSort2.default)();
}),
result = _renderHook3.result;
expect(result.current.sorted).toEqual({
by: null,
order: null
});
(0, _reactHooks.act)(function () {
result.current.sort('name');
});
expect(result.current.sorted).toEqual({
by: 'name',
order: _useTableSort.SortOrder.ASC
});
(0, _reactHooks.act)(function () {
result.current.sort('age');
});
expect(result.current.sorted).toEqual({
by: 'age',
order: _useTableSort.SortOrder.ASC
});
});
it('clears correctly', function () {
var _renderHook4 = (0, _reactHooks.renderHook)(function () {
return (0, _useTableSort2.default)();
}),
result = _renderHook4.result;
expect(result.current.sorted).toEqual({
by: null,
order: null
});
(0, _reactHooks.act)(function () {
result.current.sort('age');
});
expect(result.current.sorted).toEqual({
by: 'age',
order: _useTableSort.SortOrder.ASC
});
(0, _reactHooks.act)(function () {
result.current.clear();
});
expect(result.current.sorted).toEqual({
by: null,
order: null
});
});
});