Application Android et IOS pour l'amicale des élèves
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Proxiwash.test.js 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. import React from 'react';
  2. import {getCleanedMachineWatched, getMachineEndDate, getMachineOfId, isMachineWatched} from "../../src/utils/Proxiwash";
  3. test('getMachineEndDate', () => {
  4. jest.spyOn(Date, 'now')
  5. .mockImplementation(() =>
  6. new Date('2020-01-14T15:00:00.000Z').getTime()
  7. );
  8. let expectDate = new Date('2020-01-14T15:00:00.000Z');
  9. expectDate.setHours(23);
  10. expectDate.setMinutes(10);
  11. expect(getMachineEndDate({endTime: "23:10"}).getTime()).toBe(expectDate.getTime());
  12. expectDate.setHours(16);
  13. expectDate.setMinutes(30);
  14. expect(getMachineEndDate({endTime: "16:30"}).getTime()).toBe(expectDate.getTime());
  15. expect(getMachineEndDate({endTime: "15:30"})).toBeNull();
  16. expect(getMachineEndDate({endTime: "13:10"})).toBeNull();
  17. jest.spyOn(Date, 'now')
  18. .mockImplementation(() =>
  19. new Date('2020-01-14T23:00:00.000Z').getTime()
  20. );
  21. expectDate = new Date('2020-01-14T23:00:00.000Z');
  22. expectDate.setHours(0);
  23. expectDate.setMinutes(30);
  24. expect(getMachineEndDate({endTime: "00:30"}).getTime()).toBe(expectDate.getTime());
  25. });
  26. test('isMachineWatched', () => {
  27. let machineList = [
  28. {
  29. number: "0",
  30. endTime: "23:30",
  31. },
  32. {
  33. number: "1",
  34. endTime: "20:30",
  35. },
  36. ];
  37. expect(isMachineWatched({number: "0", endTime: "23:30"}, machineList)).toBeTrue();
  38. expect(isMachineWatched({number: "1", endTime: "20:30"}, machineList)).toBeTrue();
  39. expect(isMachineWatched({number: "3", endTime: "20:30"}, machineList)).toBeFalse();
  40. expect(isMachineWatched({number: "1", endTime: "23:30"}, machineList)).toBeFalse();
  41. });
  42. test('getMachineOfId', () => {
  43. let machineList = [
  44. {
  45. number: "0",
  46. },
  47. {
  48. number: "1",
  49. },
  50. ];
  51. expect(getMachineOfId("0", machineList)).toStrictEqual({number: "0"});
  52. expect(getMachineOfId("1", machineList)).toStrictEqual({number: "1"});
  53. expect(getMachineOfId("3", machineList)).toBeNull();
  54. });
  55. test('getCleanedMachineWatched', () => {
  56. let machineList = [
  57. {
  58. number: "0",
  59. endTime: "23:30",
  60. },
  61. {
  62. number: "1",
  63. endTime: "20:30",
  64. },
  65. {
  66. number: "2",
  67. endTime: "",
  68. },
  69. ];
  70. let watchList = [
  71. {
  72. number: "0",
  73. endTime: "23:30",
  74. },
  75. {
  76. number: "1",
  77. endTime: "20:30",
  78. },
  79. {
  80. number: "2",
  81. endTime: "",
  82. },
  83. ];
  84. let cleanedList = watchList;
  85. expect(getCleanedMachineWatched(watchList, machineList)).toStrictEqual(cleanedList);
  86. watchList = [
  87. {
  88. number: "0",
  89. endTime: "23:30",
  90. },
  91. {
  92. number: "1",
  93. endTime: "20:30",
  94. },
  95. {
  96. number: "2",
  97. endTime: "15:30",
  98. },
  99. ];
  100. cleanedList = [
  101. {
  102. number: "0",
  103. endTime: "23:30",
  104. },
  105. {
  106. number: "1",
  107. endTime: "20:30",
  108. },
  109. ];
  110. expect(getCleanedMachineWatched(watchList, machineList)).toStrictEqual(cleanedList);
  111. watchList = [
  112. {
  113. number: "0",
  114. endTime: "23:30",
  115. },
  116. {
  117. number: "1",
  118. endTime: "20:31",
  119. },
  120. {
  121. number: "3",
  122. endTime: "15:30",
  123. },
  124. ];
  125. cleanedList = [
  126. {
  127. number: "0",
  128. endTime: "23:30",
  129. },
  130. ];
  131. expect(getCleanedMachineWatched(watchList, machineList)).toStrictEqual(cleanedList);
  132. });