From 4c21bb9d650c2874b32ecb59fc830dd193bf7c57 Mon Sep 17 00:00:00 2001 From: Nazar Gargol Date: Wed, 8 Jul 2020 19:40:48 +1200 Subject: [PATCH] Added basic test coverage for JSON to CSV serialization no issue --- ghost/members-csv/test/fixtures/empty.csv | 0 ghost/members-csv/test/unparse.test.js | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 ghost/members-csv/test/fixtures/empty.csv create mode 100644 ghost/members-csv/test/unparse.test.js diff --git a/ghost/members-csv/test/fixtures/empty.csv b/ghost/members-csv/test/fixtures/empty.csv new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ghost/members-csv/test/unparse.test.js b/ghost/members-csv/test/unparse.test.js new file mode 100644 index 0000000000..631ffb9904 --- /dev/null +++ b/ghost/members-csv/test/unparse.test.js @@ -0,0 +1,23 @@ +const should = require('should'); +const path = require('path'); +const {readCSV} = require('../lib/parse'); +const unparse = require('../lib/unparse'); +const csvPath = path.join(__dirname, '/fixtures/'); + +describe('unparse', function () { + it('serializes json to CSV and adds standard members fields', async function () { + const filePath = path.join(csvPath, 'single-column-with-header.csv'); + + const json = await readCSV({ + path: filePath, + columnsToExtract: [{name: 'email', lookup: /email/i}] + }); + + const result = unparse(json); + + should.exist(result); + + const expected = `id,email,name,note,subscribed_to_emails,complimentary_plan,stripe_customer_id,created_at,deleted_at,labels\r\n,jbloggs@example.com,,,,,,,,\r\n,test@example.com,,,,,,,,`; + should.equal(result, expected); + }); +});