fruits-api-test.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* eslint-disable no-undef */
  2. 'use strict';
  3. const assert = require('assert');
  4. const proxyquire = require('proxyquire');
  5. const mockDb = {
  6. query: () => {
  7. return Promise.resolve();
  8. }
  9. };
  10. const fruits = proxyquire('../lib/api/fruits', {
  11. '../db': mockDb
  12. });
  13. describe('Fruits methods', () => {
  14. it('API', () => {
  15. assert.strictEqual(typeof fruits.find, 'function');
  16. assert.strictEqual(typeof fruits.findAll, 'function');
  17. assert.strictEqual(typeof fruits.create, 'function');
  18. assert.strictEqual(typeof fruits.update, 'function');
  19. assert.strictEqual(typeof fruits.remove, 'function');
  20. });
  21. it('find all', () => {
  22. const result = fruits.findAll();
  23. assert.strictEqual(result instanceof Promise, true);
  24. });
  25. it('find', () => {
  26. const result = fruits.find('id');
  27. assert.strictEqual(result instanceof Promise, true);
  28. });
  29. it('create', () => {
  30. const result = fruits.create('name', 'stock');
  31. assert.strictEqual(result instanceof Promise, true);
  32. });
  33. it('update', () => {
  34. const result = fruits.update({ name: 'name', stock: 'stock', id: 1 });
  35. assert.strictEqual(result instanceof Promise, true);
  36. });
  37. it('remove', () => {
  38. const result = fruits.remove('id');
  39. assert.strictEqual(result instanceof Promise, true);
  40. });
  41. });