Usage
npm install --save-dev dropbox-mock
Global test setup:
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
When creating the Dropbox Client in test, you need to use the same app key that you allowed in the global test setup above.
new Dropbox.Client({key: 'FAKE-KEY-FOR-TEST'});
After exercising code that should have created records, you can inspect the fake Dropbox datastore:
global.Dropbox['MyTable'];
Currently supported APIs
new Dropbox.Client
Client.authenticate()
Client.isAuthenticated()
Client.getDatastoreManager()
DatatstoreManager.openDefaultDatastore(callback)
Datastore.getTable(name)
Datastore.recordsChanged.addListener(callback)
(must be manually triggered by your test)Table.query()
(no params)Table.insert(record)
Record.get(fieldName)
Record.deleteRecord()
Record.getId()
Record.update()
Pull requests are welcome.
Examples
Table.query()
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
global.Dropbox['MyTable'] = [ { name: "Record 1", value: 1 } ];
Table.insert(record)
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
expect(global.Dropbox['MyTable']).to.equal(expectedRecords);
Datastore.recordsChanged.addListener(callback)
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
global.Dropbox.triggerRecordsChanged();