Files
discordeno/test/util/utils.test.ts
ITOH 95a2b7a74d feat(util): add camelToSnakeCase() & snakeToCamelCase() (#473)
* Update utils.ts

* add tests

* Update utils.test.ts

* void unnecessary

* Apply suggestions from code review

Co-authored-by: Ayyan <ayyantee@gmail.com>

* Update src/util/utils.ts

Co-authored-by: Ayyan <ayyantee@gmail.com>

* Update utils.ts

* remove object test

* some name changes

Co-authored-by: Ayyan <ayyantee@gmail.com>
2021-01-26 12:44:25 +04:00

76 lines
1.5 KiB
TypeScript

import {
camelKeysToSnakeCase,
snakeKeysToCamelCase,
} from "../../src/util/utils.ts";
import { assertEquals } from "../deps.ts";
const testSnakeObject = {
// deno-lint-ignore camelcase
hello_world: "hello_world",
// deno-lint-ignore camelcase
the_universe: {
blue_planet: {
water: "is_blue",
dirt: "isDirty",
},
moon: {
earth_moon: {
is_round: true,
},
other_moon: {
is_round: 0,
},
},
arrays: ["one_two", { moo_cow: { boo: true } }],
test_the_id: "123123123123",
},
};
const testCamelObject = {
helloWorld: "hello_world",
theUniverse: {
bluePlanet: {
water: "is_blue",
dirt: "isDirty",
},
moon: {
earthMoon: {
isRound: true,
},
otherMoon: {
isRound: 0,
},
},
arrays: ["one_two", { mooCow: { boo: true } }],
testTheID: "123123123123",
},
};
const someOther = {
helloWorld: 1,
};
const someElseOther = {
hello_world: 1,
};
Deno.test({
name: "[utils] snakeKeysToCamelCase: assert convertion",
fn() {
const result = snakeKeysToCamelCase(testSnakeObject);
assertEquals(result, testCamelObject);
const resultTwo = snakeKeysToCamelCase(someOther);
assertEquals(resultTwo, someOther);
},
});
Deno.test({
name: "[utils] camelKeysToSnakeCase: assert convertion",
fn() {
const result = camelKeysToSnakeCase(testCamelObject);
assertEquals(result, testSnakeObject);
const resultTwo = camelKeysToSnakeCase(someElseOther);
assertEquals(resultTwo, someElseOther);
},
});