todoApp/node_modules/jsonexport/tests/zero.js

154 lines
3.7 KiB
JavaScript

/* jshint node:true */
/* jshint esversion: 6 */
/* jshint -W030 */
const { assert } = require("chai");
const jsonexport = require("../lib/index");
const os = require("os");
describe("Zero", () => {
it("array", async () => {
const values = [
{
name: "Bob",
lastName: "Smith",
age: 0,
family: {
name: "Peter",
type: "Father",
},
},
{
name: "James",
lastName: "David",
age: 21,
family: {
name: "Julie",
type: "Mother",
size: 0,
},
},
{
name: "Robert",
lastName: "Miller",
age: 24,
family: {
name: "Miller",
size: 12,
},
location: [1231, 3214, 4214, 0],
},
{
name: "David",
lastName: "Martin",
nickname: "dmartin",
age: 45,
},
];
const csv = await jsonexport(values, {});
assert.equal(
csv,
`name,lastName,age,family.name,family.type,family.size,location,nickname${os.EOL}Bob,Smith,0,Peter,Father${os.EOL}James,David,21,Julie,Mother,0${os.EOL}Robert,Miller,24,Miller,,12,1231;3214;4214;0${os.EOL}David,Martin,45,,,,,dmartin`
);
});
it("object", async () => {
const value = {
name: "Bob",
lastName: "Smith",
age: 0,
family: {
name: "Peter",
type: "Father",
size: 0,
},
location: [1231, 3214, 4214, 0],
};
const csv = await jsonexport(value, {});
assert.equal(
csv,
`name,Bob${os.EOL}lastName,Smith${os.EOL}age,0${os.EOL}family.name,Peter${os.EOL}family.type,Father${os.EOL}family.size,0${os.EOL}location,1231;3214;4214;0`
);
});
});
describe("False", () => {
it("array", async () => {
const values = [
{
name: "Bob",
lastName: "Smith",
age: 0,
bachelor: false,
family: {
name: "Peter",
type: "Father",
nuclear: true,
},
},
{
name: "James",
lastName: "David",
age: 21,
bachelor: false,
family: {
name: "Julie",
type: "Mother",
size: 0,
nuclear: true,
},
},
{
name: "Robert",
lastName: "Miller",
age: 24,
bachelor: true,
family: {
name: "Miller",
size: 12,
nuclear: false,
},
location: [1231, 3214, 4214, 0],
},
{
name: "David",
lastName: "Martin",
nickname: "dmartin",
age: 45,
pets: [false,false,true],
},
];
const csv = await jsonexport(values, {});
assert.equal(
csv,
`name,lastName,age,bachelor,family.name,family.type,family.nuclear,family.size,location,nickname,pets${os.EOL}Bob,Smith,0,false,Peter,Father,true${os.EOL}James,David,21,false,Julie,Mother,true,0${os.EOL}Robert,Miller,24,true,Miller,,false,12,1231;3214;4214;0${os.EOL}David,Martin,45,,,,,,,dmartin,false;false;true`
);
});
it("object", async () => {
const value = {
name: "Bob",
lastName: "Smith",
age: 0,
bachelor: false,
family: {
name: "Peter",
type: "Father",
size: 0,
nuclear: false,
},
location: [1231, 3214, 4214, 0],
pets: [false,false,true],
};
const csv = await jsonexport(value, {});
assert.equal(
csv,
`name,Bob${os.EOL}lastName,Smith${os.EOL}age,0${os.EOL}bachelor,false${os.EOL}family.name,Peter${os.EOL}family.type,Father${os.EOL}family.size,0${os.EOL}family.nuclear,false${os.EOL}location,1231;3214;4214;0${os.EOL}pets,false;false;true`
);
});
});