Might be worth adding a `.nodeify()` helper[1] to the promise for the tests. As the promise will catch the error anyway it makes it much cleaner to read.

```coffee
// Normal (although make sure the last promise returns nothing)
a.create({some: 'data'}).then(->
  assert(s.create.calledOnce, 'store .create() called once')
).then(done, done)

// Nodeify
a.create({some: 'data'}).then(->
  assert(s.create.calledOnce, 'store .create() called once')
).nodeify(done)
```

Also, regardless of the above comment, make sure you always add a final catch to the promise chain. Currently if `a.create()` errors the test suite will hang until it times out because done will only be called if the returned promise is resolved.

[1] https://github.com/kriskowal/q/wiki/API-Reference#promisenodeifycallback