Skip to content

Commit

Permalink
refactor: excel import (#250)
Browse files Browse the repository at this point in the history
* refactor: public parsing function
  • Loading branch information
cpvalente authored Nov 9, 2022
1 parent b9bc462 commit b5a521f
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 40 deletions.
2 changes: 1 addition & 1 deletion client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ontime-ui",
"version": "1.9.4",
"version": "1.9.5",
"private": true,
"dependencies": {
"@chakra-ui/react": "^2.3.2",
Expand Down
2 changes: 1 addition & 1 deletion server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ontime",
"version": "1.9.4",
"version": "1.9.5",
"author": "Carlos Valente",
"description": "Time keeping for live events",
"repository": "https://github.com/cpvalente/ontime",
Expand Down
2 changes: 1 addition & 1 deletion server/src/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ontime-server",
"type": "module",
"version": "1.4.1",
"version": "1.4.2",
"dependencies": {
"body-parser": "^1.20.0",
"dotenv": "^16.0.1",
Expand Down
23 changes: 1 addition & 22 deletions server/src/utils/__tests__/parser.tests.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import jest from 'jest-mock';
import { dbModelv1, dbModelv1 as dbModel } from '../../models/dataModel.js';
import { isStringEmpty, parseExcel_v1, parseJson_v1, validateEvent_v1 } from '../parser.js';
import { parseExcel_v1, parseJson_v1, validateEvent_v1 } from '../parser.js';
import { makeString, validateDuration } from '../parserUtils.js';
import { parseAliases_v1, parseUserFields_v1, parseViews_v1 } from '../parserUtils_v1.js';

Expand Down Expand Up @@ -876,24 +876,3 @@ describe('test validateDuration()', () => {
});
});
});

describe('isStringEmpty() function', () => {
describe('returns true with any non empty', () => {
const notEmpty = ['test', 'thisalso', '123', '#'];
for (const testValue of notEmpty) {
it(testValue, () => {
const isEmpty = isStringEmpty(testValue);
expect(isEmpty).toBe(false);
});
}
});
describe('returns true empty string or undefined', () => {
const empty = ['', ' ', undefined, null];
for (const testValue of empty) {
it(`handles ${testValue}`, () => {
const isEmpty = isStringEmpty(testValue);
expect(isEmpty).toBe(true);
});
}
});
});
17 changes: 2 additions & 15 deletions server/src/utils/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,6 @@ import { generateId } from './generate_id.js';
export const EXCEL_MIME = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
export const JSON_MIME = 'application/json';

/**
* @description Whether a string is considered empty
* @param value
* @return {boolean}
*/
export const isStringEmpty = (value) => {
let v = value;
if (typeof value === 'string') {
v = value.replace(/\s+/g, '');
}
return v === '' || !v;
};

/**
* @description Excel array parser
* @param {array} excelData - array with excel sheet
Expand Down Expand Up @@ -102,9 +89,9 @@ export const parseExcel_v1 = async (excelData) => {
} else if (j === subtitleIndex) {
event.subtitle = column;
} else if (j === isPublicIndex) {
event.isPublic = isStringEmpty(column);
event.isPublic = Boolean(column);
} else if (j === skipIndex) {
event.skip = isStringEmpty(column);
event.skip = Boolean(column);
} else if (j === notesIndex) {
event.note = column;
} else if (j === colourIndex) {
Expand Down

0 comments on commit b5a521f

Please sign in to comment.