Add ts-jest and jest tests for utils

This commit is contained in:
2018-04-02 10:45:00 +05:30
parent 87ec445760
commit baceffce56
3 changed files with 84 additions and 3 deletions
+1
View File
@@ -23,6 +23,7 @@
"@types/node": "^9.6.0", "@types/node": "^9.6.0",
"@types/react": "^16.0.41", "@types/react": "^16.0.41",
"@types/react-dom": "^16.0.4", "@types/react-dom": "^16.0.4",
"ts-jest": "^22.4.2",
"typescript": "^2.7.2" "typescript": "^2.7.2"
} }
} }
+43
View File
@@ -0,0 +1,43 @@
import * as moment from 'moment-timezone';
import { Utils, IndiaTZName } from './utils';
test('createTodayDateInIndiaTZ creates in India tz', () => {
const todayWithUtils = Utils.createTodayDateInIndiaTZ();
expect(todayWithUtils.tz().toLowerCase()).toBe(IndiaTZName.toLowerCase());
});
test('checkSameDayInSameTZ returns true for same day', () => {
const tomorrow = moment.tz().add(1, 'd');
const tomorrow2 = moment.tz().add(2, 'd').subtract(1, 'd');
expect(Utils.checkSameDayInSameTZ(tomorrow, tomorrow)).toBe(true);
expect(Utils.checkSameDayInSameTZ(tomorrow, tomorrow2)).toBe(true);
});
test('numberToMaxFixed removes zeroes after decimals', () => {
const testNumber = 20.00;
expect(testNumber.toFixed(3)).not.toBe('20');
expect(Utils.numberToMaxFixed(testNumber, 3)).toBe('20');
});
test('numberToMaxFixed works like number.ToFixed for non-zero after decimal numbers', () => {
const testNumber = 20.1234;
expect(testNumber.toFixed(3)).toBe('20.123');
expect(Utils.numberToMaxFixed(testNumber, 3)).toBe('20.123');
});
test('stringToNormalCase returns normal case string for non-empty string', () => {
const testString = 'hello there';
const expectedString = 'Hello there';
expect(Utils.stringToNormalCase(testString)).toBe(expectedString);
});
test('stringToNormalCase returns empty string for empty string', () => {
const testString = '';
const expectedString = '';
expect(Utils.stringToNormalCase(testString)).toBe(expectedString);
});
+40 -3
View File
@@ -709,7 +709,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-runtime "^6.22.0" babel-runtime "^6.22.0"
babel-template "^6.24.1" babel-template "^6.24.1"
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0:
version "6.26.0" version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
dependencies: dependencies:
@@ -909,7 +909,7 @@ babel-preset-flow@^6.23.0:
dependencies: dependencies:
babel-plugin-transform-flow-strip-types "^6.22.0" babel-plugin-transform-flow-strip-types "^6.22.0"
babel-preset-jest@^22.0.1, babel-preset-jest@^22.4.3: babel-preset-jest@^22.0.1, babel-preset-jest@^22.4.0, babel-preset-jest@^22.4.3:
version "22.4.3" version "22.4.3"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156"
dependencies: dependencies:
@@ -3834,7 +3834,7 @@ jest-cli@^22.1.4:
which "^1.2.12" which "^1.2.12"
yargs "^10.0.3" yargs "^10.0.3"
jest-config@^22.0.1, jest-config@^22.4.3: jest-config@^22.0.1, jest-config@^22.4.2, jest-config@^22.4.3:
version "22.4.3" version "22.4.3"
resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403"
dependencies: dependencies:
@@ -6840,6 +6840,20 @@ ts-jest@22.0.1:
source-map-support "^0.5.0" source-map-support "^0.5.0"
yargs "^10.0.3" yargs "^10.0.3"
ts-jest@^22.4.2:
version "22.4.2"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-22.4.2.tgz#2137bc0899b14dfb1d58257ee10b18ab8a2d92c5"
dependencies:
babel-core "^6.26.0"
babel-plugin-istanbul "^4.1.4"
babel-plugin-transform-es2015-modules-commonjs "^6.26.0"
babel-preset-jest "^22.4.0"
cpx "^1.5.0"
fs-extra "4.0.3"
jest-config "^22.4.2"
pkg-dir "^2.0.0"
yargs "^11.0.0"
ts-loader@^2.3.7: ts-loader@^2.3.7:
version "2.3.7" version "2.3.7"
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-2.3.7.tgz#a9028ced473bee12f28a75f9c5b139979d33f2fc" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-2.3.7.tgz#a9028ced473bee12f28a75f9c5b139979d33f2fc"
@@ -7465,6 +7479,12 @@ yargs-parser@^8.1.0:
dependencies: dependencies:
camelcase "^4.1.0" camelcase "^4.1.0"
yargs-parser@^9.0.2:
version "9.0.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
dependencies:
camelcase "^4.1.0"
yargs@^10.0.3: yargs@^10.0.3:
version "10.1.2" version "10.1.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5"
@@ -7482,6 +7502,23 @@ yargs@^10.0.3:
y18n "^3.2.1" y18n "^3.2.1"
yargs-parser "^8.1.0" yargs-parser "^8.1.0"
yargs@^11.0.0:
version "11.0.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b"
dependencies:
cliui "^4.0.0"
decamelize "^1.1.1"
find-up "^2.1.0"
get-caller-file "^1.0.1"
os-locale "^2.0.0"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"
string-width "^2.0.0"
which-module "^2.0.0"
y18n "^3.2.1"
yargs-parser "^9.0.2"
yargs@^6.6.0: yargs@^6.6.0:
version "6.6.0" version "6.6.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"