Test double for Dropbox API
npm install dropbox-mock

``bash`
npm install --save-dev dropbox-mock
Global test setup:
`javascript`
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.
`javascript`
new Dropbox.Client({key: 'FAKE-KEY-FOR-TEST'});
After exercising code that should have created records, you can inspect the fake Dropbox datastore:
`javascript`
global.Dropbox['MyTable']; // => yields the stored object
- new Dropbox.ClientClient.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.
`javascript`
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
global.Dropbox['MyTable'] = [ { name: "Record 1", value: 1 } ];
// call subject method that queries MyTable
`javascript`
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
// call subject method that should insert records
expect(global.Dropbox['MyTable']).to.equal(expectedRecords);
`javascript``
global.Dropbox = new (require('dropbox-mock'))();
global.Dropbox.allowAppKey('FAKE-KEY-FOR-TEST');
// call subject method that should register a listener
global.Dropbox.triggerRecordsChanged();
// verify subject performed an action in response to a recordsChanged event