diff --git a/package-lock.json b/package-lock.json index 2b98d1c..5991aec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "gsweet", - "version": "2.0.1-beta.12", + "version": "v2.0.1-beta.13", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/src/Drive/driveOps.js b/src/Drive/driveOps.js index 39c8056..695d55a 100644 --- a/src/Drive/driveOps.js +++ b/src/Drive/driveOps.js @@ -1,7 +1,7 @@ // @ts-check /** @module */ /** - * @file Handles talking to the Google Spreadsheet API + * @file Handles talking to the Google Drive API * ## Links to Google Drive documentation * [mime-types](https://developers.google.com/drive/api/v3/mime-types) * [all file meta data](https://developers.google.com/drive/api/v3/reference/files) @@ -14,6 +14,7 @@ */ const ds = require('./driveService') const logger = require('../utils/logger') +const { drive } = require('googleapis/build/src/apis/drive') const MAX_FILES_PER_PAGE = 1000 let _driveService @@ -51,6 +52,24 @@ const autoInit = () => { _driveService = ds.init() } +const createSpreadsheet= async (sheetNameAndFolderId) =>{ + const {name, folderId} = sheetNameAndFolderId + const fileMetaData = { + name, + parents: folderId + } + + const media = { + mimeType: mimeType.getType(mimeType.SPREADSHEET) + } + const createData= { + resource: fileMetaData, + media, + fields: `id`, + } + + return await _driveService.files.create(createData) +} /** * @typedef {object} WithNameExactMatch * @property {string} withName diff --git a/src/Drive/driveOps.test.int.js b/src/Drive/driveOps.test.int.js index 52fb3c6..8152442 100644 --- a/src/Drive/driveOps.test.int.js +++ b/src/Drive/driveOps.test.int.js @@ -21,13 +21,13 @@ const {driveOps} = gsweet before(() => {logger.level = 'info'}) after(() => {logger.level = 'debug'}) -describe('INTEGRATION TEST driveOps module', function () { +describe.only('INTEGRATION TEST driveOps module', function () { this.timeout(20000) const {mimeType} = driveOps const FOLDER_TYPE = mimeType.getType(mimeType.FOLDER) const SPREADSHEET_TYPE = mimeType.getType(mimeType.SPREADSHEET) - it('fileList() should return MAX_FILES_PER_QUERY files', async () => { + it.only('fileList() should return MAX_FILES_PER_QUERY files', async () => { const fileList = await driveOps.listFiles() fileList.length.should.equal(MAX_FILES_PER_QUERY) }) diff --git a/src/Sheets/sheetOps.js b/src/Sheets/sheetOps.js index 1e59eae..5b8e4d4 100644 --- a/src/Sheets/sheetOps.js +++ b/src/Sheets/sheetOps.js @@ -130,9 +130,10 @@ const getSheetValues = async sheetRange => { }) return result.data.values } catch (err) { - const msg = `${err.response.data.error.message}` + const msg = `gsweet ${err.response.data.error.message}` + logger.error(msg) - throw msg + throw new Error (msg) } } @@ -178,7 +179,7 @@ const getSheetTitle = async sheetId => { * Get the grid properties which is an object with a rowCount and columnCount * property. * @param {SheetIndexName} sheetInfo - * @returns {Promise} + * @returns {Promise} */ const getSheetGridProperties = async sheetInfo => { const {sheetId} = sheetInfo @@ -325,6 +326,7 @@ const copySheetByNameFromTo = async({fromSpreadsheetId, fromSheetName, toSpread } + /** * @typedef CopySheetResult * @property {boolean} success diff --git a/src/Sheets/sheetOps.test.js b/src/Sheets/sheetOps.test.js index c8c1fbc..c0c069c 100644 --- a/src/Sheets/sheetOps.test.js +++ b/src/Sheets/sheetOps.test.js @@ -102,8 +102,7 @@ describe('sheetOps module', () => { sheetOps.init(throwSheetService) await sheetOps.getSheetValues(sheetRange) .catch(err => { - console.log(err) - err.should.contain('test throw') + err.message.should.contain('test throw') }) }) }) diff --git a/src/googleAuthHelper.js b/src/googleAuthHelper.js index 1290878..6216f48 100644 --- a/src/googleAuthHelper.js +++ b/src/googleAuthHelper.js @@ -25,7 +25,6 @@ const init = () => { initialized = true } catch (error) { console.log('problem parsing environment variable gsweet') - console.log(process.env.GSWEET) } }