dropbox-mock
v0.0.7
Published
Test double for Dropbox API
Downloads
13
Readme
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']; // => yields the stored object
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 } ];
// call subject method that queries MyTable
Table.insert(record)
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);
Datastore.recordsChanged.addListener(callback)
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