crud.spec.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. import { expect } from 'chai';
  2. import {
  3. DOC_CREATED,
  4. DOC_CREATE_RESPONDED,
  5. DOC_READ,
  6. DOC_READ_RESPONDED,
  7. DOC_UPDATED,
  8. DOC_UPDATE_RESPONDED,
  9. DOC_DELETED,
  10. DOC_DELETE_RESPONDED
  11. } from 'constants/actions';
  12. import {
  13. docCreated,
  14. docCreateResponded,
  15. docRead,
  16. docReadResponded,
  17. docUpdated,
  18. docUpdateResponded,
  19. docDeleted,
  20. docDeleteResponded
  21. } from 'actions/crud';
  22. describe('CRUD actions', () => {
  23. describe('docCreated', () => {
  24. it('should return DOC_CREATED with fields', () => {
  25. const route = 'employees';
  26. const pendingId = 'mypendingid';
  27. const fields = {
  28. name: 'Foo',
  29. email: 'foo@mubaloo.com'
  30. };
  31. const action = docCreated(route, pendingId, fields);
  32. expect(action).to.deep.equal({
  33. type: DOC_CREATED,
  34. route,
  35. pendingId,
  36. fields
  37. });
  38. });
  39. });
  40. describe('docCreateResponded', () => {
  41. it('should return DOC_CREATE_RESPONDED with error / response', () => {
  42. const route = 'employees';
  43. const pendingId = 'mypendingid';
  44. const error = { error: true };
  45. const response = { response: true };
  46. const action = docCreateResponded(route, pendingId, error, response);
  47. expect(action).to.deep.equal({
  48. type: DOC_CREATE_RESPONDED,
  49. route,
  50. pendingId,
  51. err: error,
  52. response
  53. });
  54. });
  55. });
  56. describe('docRead', () => {
  57. it('should return DOC_READ', () => {
  58. const route = 'employees';
  59. const action = docRead(route);
  60. expect(action).to.deep.equal({
  61. type: DOC_READ,
  62. route
  63. });
  64. });
  65. });
  66. describe('docReadResponded', () => {
  67. it('should return DOC_READ_RESPONDED with error / response', () => {
  68. const route = 'employees';
  69. const error = { error: true };
  70. const response = { response: true };
  71. const action = docReadResponded(route, error, response);
  72. expect(action).to.deep.equal({
  73. type: DOC_READ_RESPONDED,
  74. route,
  75. err: error,
  76. response
  77. });
  78. });
  79. });
  80. describe('docUpdated', () => {
  81. it('should return DOC_UPDATED', () => {
  82. const route = 'employees';
  83. const id = 'a8b8ce23';
  84. const fields = {
  85. name: 'Bar'
  86. };
  87. const action = docUpdated(route, id, fields);
  88. expect(action).to.deep.equal({
  89. type: DOC_UPDATED,
  90. route,
  91. id,
  92. fields
  93. });
  94. });
  95. });
  96. describe('docUpdateResponded', () => {
  97. it('should return DOC_UPDATE_RESPONDED with error / response', () => {
  98. const route = 'employees';
  99. const id = 'a0fb56';
  100. const error = { error: true };
  101. const response = { response: true };
  102. const action = docUpdateResponded(route, id, error, response);
  103. expect(action).to.deep.equal({
  104. type: DOC_UPDATE_RESPONDED,
  105. route,
  106. id,
  107. err: error,
  108. response
  109. });
  110. });
  111. });
  112. describe('docDeleted', () => {
  113. it('should return DOC_DELETED', () => {
  114. const route = 'employees';
  115. const id = 'a8b8ce23';
  116. const action = docDeleted(route, id);
  117. expect(action).to.deep.equal({
  118. type: DOC_DELETED,
  119. route,
  120. id
  121. });
  122. });
  123. });
  124. describe('docDeleteResponded', () => {
  125. it('should return DOC_DELETE_RESPONDED with error', () => {
  126. const route = 'employees';
  127. const id = 'a0fb56';
  128. const error = { error: true };
  129. const action = docDeleteResponded(route, id, error);
  130. expect(action).to.deep.equal({
  131. type: DOC_DELETE_RESPONDED,
  132. route,
  133. id,
  134. err: error
  135. });
  136. });
  137. });
  138. });