@thepalaceproject/circulation-admin 1.43.0 → 1.44.0-post.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CLAUDE.md +28 -7
  2. package/README.md +11 -5
  3. package/dist/circulation-admin.js +1 -1
  4. package/eslint.config.mjs +9 -1
  5. package/jest.config.js +22 -8
  6. package/package.json +6 -20
  7. package/tests/jest/actions.test.ts +962 -0
  8. package/tests/jest/components/AccountPage.test.tsx +41 -0
  9. package/tests/jest/components/AdvancedSearchBooleanFilter.test.tsx +231 -0
  10. package/tests/jest/components/AdvancedSearchBuilder.test.tsx +93 -20
  11. package/tests/jest/components/AdvancedSearchFilter.test.tsx +142 -0
  12. package/tests/jest/components/AdvancedSearchFilterInput.test.tsx +212 -0
  13. package/tests/jest/components/AdvancedSearchFilterViewer.test.tsx +52 -0
  14. package/tests/jest/components/AdvancedSearchValueFilter.test.tsx +123 -0
  15. package/tests/jest/components/Announcement.test.tsx +76 -0
  16. package/tests/jest/components/AnnouncementForm.test.tsx +229 -0
  17. package/tests/jest/components/AnnouncementsSection.test.tsx +146 -0
  18. package/tests/jest/components/Autocomplete.test.tsx +67 -0
  19. package/tests/jest/components/BookCoverEditor.test.tsx +393 -0
  20. package/tests/jest/components/BookDetails.test.tsx +133 -0
  21. package/tests/jest/components/BookDetailsContainer.test.tsx +116 -0
  22. package/tests/jest/components/BookDetailsEditor.test.tsx +275 -0
  23. package/tests/jest/components/BookDetailsTabContainer.test.tsx +237 -0
  24. package/tests/jest/components/BookEditForm.test.tsx +352 -0
  25. package/tests/jest/components/BookEditor.test.tsx +20 -21
  26. package/tests/jest/components/CatalogPage.test.tsx +158 -0
  27. package/tests/jest/components/CatalogServices.test.tsx +100 -0
  28. package/tests/jest/components/ChangePasswordForm.test.tsx +163 -0
  29. package/tests/jest/components/CirculationEventsDownloadForm.test.tsx +41 -0
  30. package/tests/jest/components/Classifications.test.tsx +166 -0
  31. package/tests/jest/components/ClassificationsForm.test.tsx +458 -0
  32. package/tests/jest/components/ClassificationsTable.test.tsx +57 -0
  33. package/tests/jest/components/Collections.test.tsx +335 -7
  34. package/tests/jest/components/ColorPicker.test.tsx +58 -0
  35. package/tests/jest/components/ComplaintForm.test.tsx +171 -0
  36. package/tests/jest/components/Complaints.test.tsx +259 -0
  37. package/tests/jest/components/ConfigPage.test.tsx +58 -0
  38. package/tests/jest/components/ConfigTabContainer.test.tsx +196 -0
  39. package/tests/jest/components/ContextProvider.test.tsx +138 -0
  40. package/tests/jest/components/Contributors.test.tsx +157 -0
  41. package/tests/jest/components/CustomListEditor.test.tsx +367 -0
  42. package/tests/jest/components/CustomListEntriesEditor.test.tsx +1240 -0
  43. package/tests/jest/components/CustomListPage.test.tsx +57 -0
  44. package/tests/jest/components/CustomListSearch.test.tsx +275 -0
  45. package/tests/jest/components/CustomLists.test.tsx +621 -4
  46. package/tests/jest/components/CustomListsForBook.test.tsx +353 -0
  47. package/tests/jest/components/CustomListsSidebar.test.tsx +251 -0
  48. package/tests/jest/components/DashboardPage.test.tsx +76 -0
  49. package/tests/jest/components/DebugAuthentication.test.tsx +1 -5
  50. package/tests/jest/components/DiagnosticsServiceTabs.test.tsx +141 -0
  51. package/tests/jest/components/DiagnosticsServiceType.test.tsx +75 -0
  52. package/tests/jest/components/DiagnosticsTabContainer.test.tsx +147 -0
  53. package/tests/jest/components/DiscoveryServices.test.tsx +154 -7
  54. package/tests/jest/components/EditableConfigList.test.tsx +606 -9
  55. package/tests/jest/components/EditableInput.test.tsx +250 -1
  56. package/tests/jest/components/EditorField.test.tsx +95 -0
  57. package/tests/jest/components/EntryPointsContainer.test.tsx +97 -0
  58. package/tests/jest/components/EntryPointsTabs.test.tsx +88 -0
  59. package/tests/jest/components/ErrorMessage.test.tsx +97 -0
  60. package/tests/jest/components/Footer.test.tsx +141 -0
  61. package/tests/jest/components/GenreForm.test.tsx +152 -0
  62. package/tests/jest/components/Header.test.tsx +421 -0
  63. package/tests/jest/components/IndividualAdminEditForm.test.tsx +506 -1
  64. package/tests/jest/components/IndividualAdmins.test.tsx +124 -8
  65. package/tests/jest/components/InputList.test.tsx +493 -0
  66. package/tests/jest/components/InventoryReportRequestModal.test.tsx +16 -42
  67. package/tests/jest/components/JsonField.test.tsx +20 -0
  68. package/tests/jest/components/Lane.test.tsx +132 -10
  69. package/tests/jest/components/LaneCustomListsEditor.test.tsx +450 -0
  70. package/tests/jest/components/LaneEditor.test.tsx +377 -13
  71. package/tests/jest/components/LanePage.test.tsx +68 -0
  72. package/tests/jest/components/Lanes.test.tsx +446 -0
  73. package/tests/jest/components/LanesSidebar.test.tsx +621 -0
  74. package/tests/jest/components/LanguageField.test.tsx +40 -0
  75. package/tests/jest/components/Libraries.test.tsx +48 -0
  76. package/tests/jest/components/LibraryEditForm.test.tsx +383 -0
  77. package/tests/jest/components/LibraryRegistration.test.tsx +354 -0
  78. package/tests/jest/components/LibraryRegistrationForm.test.tsx +203 -0
  79. package/tests/jest/components/LoadButton.test.tsx +49 -0
  80. package/tests/jest/components/ManagePatrons.test.tsx +73 -0
  81. package/tests/jest/components/ManagePatronsForm.test.tsx +180 -0
  82. package/tests/jest/components/ManagePatronsTabContainer.test.tsx +143 -0
  83. package/tests/jest/components/MetadataServices.test.tsx +95 -0
  84. package/tests/jest/components/NeighborhoodAnalyticsForm.test.tsx +167 -0
  85. package/tests/jest/components/PairedMenus.test.tsx +220 -0
  86. package/tests/jest/components/PatronAuthServices.test.tsx +114 -0
  87. package/tests/jest/components/PatronBlockingRulesEditor.test.tsx +3 -1
  88. package/tests/jest/components/PatronInfo.test.tsx +54 -0
  89. package/tests/jest/components/ProtocolFormField.test.tsx +479 -7
  90. package/tests/jest/components/ResetAdobeId.test.tsx +302 -0
  91. package/tests/jest/components/SaveButton.test.tsx +47 -0
  92. package/tests/jest/components/SelfTestResult.test.tsx +164 -0
  93. package/tests/jest/components/SelfTests.test.tsx +601 -0
  94. package/tests/jest/components/SelfTestsCategory.test.tsx +200 -0
  95. package/tests/jest/components/SelfTestsTabContainer.test.tsx +216 -0
  96. package/tests/jest/components/ServiceEditForm.test.tsx +1092 -0
  97. package/tests/jest/components/ServiceWithRegistrationsEditForm.test.tsx +110 -0
  98. package/tests/jest/components/SetupPage.test.tsx +41 -0
  99. package/tests/jest/components/SingleStatListItem.test.tsx +62 -0
  100. package/tests/jest/components/SitewideAnnouncements.test.tsx +134 -0
  101. package/tests/jest/components/Stats.test.tsx +4 -15
  102. package/tests/jest/components/TabContainer.test.tsx +68 -0
  103. package/tests/jest/components/TextWithEditMode.test.tsx +218 -0
  104. package/tests/jest/components/Timestamp.test.tsx +74 -0
  105. package/tests/jest/components/ToolTip.test.tsx +46 -0
  106. package/tests/jest/components/TroubleshootingCategoryPage.test.tsx +69 -0
  107. package/tests/jest/components/TroubleshootingPage.test.tsx +94 -0
  108. package/tests/jest/components/TroubleshootingTabContainer.test.tsx +68 -0
  109. package/tests/jest/components/UpdatingLoader.test.tsx +36 -0
  110. package/tests/jest/components/WelcomePage.test.tsx +43 -0
  111. package/tests/jest/components/WithEditButton.test.tsx +55 -0
  112. package/tests/jest/components/WithRemoveButton.test.tsx +95 -0
  113. package/tests/jest/editorAdapter.test.ts +245 -0
  114. package/tests/jest/features/book.test.ts +75 -80
  115. package/tests/jest/fixtures/classificationsData.ts +45 -0
  116. package/tests/jest/fixtures/genreData.ts +811 -0
  117. package/tests/jest/index.test.tsx +50 -0
  118. package/tests/jest/models/Admin.test.ts +206 -0
  119. package/tests/jest/reducers/bookCoverPreview.test.ts +81 -0
  120. package/tests/jest/reducers/classifications.test.ts +161 -0
  121. package/tests/jest/reducers/collections.test.ts +96 -0
  122. package/tests/jest/reducers/complaints.test.ts +166 -0
  123. package/tests/jest/reducers/createFetchEditReducer.test.ts +220 -0
  124. package/tests/jest/reducers/createRegisterLibraryReducer.test.ts +51 -0
  125. package/tests/jest/reducers/customListDetails.test.ts +120 -0
  126. package/tests/jest/reducers/customListEditor.test.ts +2823 -0
  127. package/tests/jest/reducers/managePatrons.test.ts +71 -0
  128. package/tests/jest/testUtils/formDataShim.test.ts +135 -0
  129. package/tests/jest/testUtils/formDataShim.ts +112 -0
  130. package/tests/jest/utils/sharedFunctions.test.ts +121 -0
  131. package/tsconfig.json +3 -4
  132. package/testReporter.js +0 -29
  133. package/tests/jest/README.md +0 -6
package/eslint.config.mjs CHANGED
@@ -8,7 +8,15 @@ import globals from "globals";
8
8
 
9
9
  export default tseslint.config(
10
10
  {
11
- ignores: ["dist/", "lib/", "docs/", "typings/", "node_modules/"],
11
+ ignores: [
12
+ "dist/",
13
+ "lib/",
14
+ "docs/",
15
+ "typings/",
16
+ "node_modules/",
17
+ "coverage/",
18
+ ".nyc_output/",
19
+ ],
12
20
  },
13
21
  js.configs.recommended,
14
22
  ...tseslint.configs.recommended,
package/jest.config.js CHANGED
@@ -1,16 +1,30 @@
1
1
  /** @type {import('ts-jest').JestConfigWithTsJest} */
2
2
  module.exports = {
3
- moduleNameMapper: {
4
- "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":
5
- "<rootDir>/tests/__mocks__/fileMock.js",
6
- "\\.(css|less)$": "<rootDir>/tests/__mocks__/styleMock.js",
7
- "\\.md$": "<rootDir>/tests/__mocks__/fileMock.js",
8
- },
9
3
  preset: "ts-jest",
4
+ // `jest-fixed-jsdom` restores Node's fetch/Response globals so MSW can
5
+ // intercept them.
10
6
  testEnvironment: "jest-fixed-jsdom",
11
7
  testEnvironmentOptions: {
8
+ // MSW / jest-fixed-jsdom rely on the default resolution conditions; the empty
9
+ // string keeps jsdom's "browser" condition from pulling in ESM-only builds
10
+ // that ts-jest would not transform.
12
11
  customExportConditions: [""],
13
12
  },
14
- setupFiles: ["./jest.polyfills.js"],
15
- setupFilesAfterEnv: ["./tests/jest/jest-setup.ts"],
13
+ setupFiles: ["<rootDir>/jest.polyfills.js"],
14
+ setupFilesAfterEnv: ["<rootDir>/tests/jest/jest-setup.ts"],
15
+ moduleNameMapper: {
16
+ "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":
17
+ "<rootDir>/tests/__mocks__/fileMock.js",
18
+ "\\.(css|less|scss|sass)$": "<rootDir>/tests/__mocks__/styleMock.js",
19
+ "\\.md$": "<rootDir>/tests/__mocks__/fileMock.js",
20
+ },
21
+ // `src` must stay in `roots` so that `collectCoverageFrom` can discover source
22
+ // files that no test imports — otherwise they are silently omitted from the
23
+ // report rather than counted as uncovered, and the coverage percentage rises
24
+ // while real coverage is unchanged.
25
+ roots: ["<rootDir>/src", "<rootDir>/tests/jest"],
26
+ testMatch: ["<rootDir>/tests/jest/**/*.test.{js,jsx,ts,tsx}"],
27
+ coverageDirectory: "coverage/jest",
28
+ coverageReporters: ["lcov", "text-summary"],
29
+ collectCoverageFrom: ["src/**/*.{ts,tsx}", "!src/**/*.d.ts"],
16
30
  };
package/package.json CHANGED
@@ -17,18 +17,15 @@
17
17
  "prepublish": "npm run prod",
18
18
  "lint": "npm run lint:js && sass-lint -c .sass-lint.yml -v -q",
19
19
  "lint:js": "eslint . --max-warnings 0",
20
- "test-js": "tsc && cp -r src/stylesheets lib && cp -r src/images lib && mocha --require lib/testHelper.js lib/__tests__/*.js lib/**/__tests__/*.js lib/**/**/__tests__/*.js",
21
- "test-js-file": "tsc && cp -r src/stylesheets lib && cp -r src/images lib && mocha --require lib/testHelper.js",
22
- "test-js-list": "mocha --require lib/testHelper.js lib/__tests__/*.js lib/**/__tests__/*.js lib/**/**/__tests__/*.js --reporter ./testReporter.js",
23
- "test-ts": "mocha -r ts-node/register --require src/testHelper.ts src/__tests__/*.ts* src/**/__tests__/*.ts* src/**/**/__tests__/*.ts*",
24
- "test-file-ts": "mocha -r ts-node/register --require src/testHelper.ts",
25
- "test": "npm run test-ts && npm run test-jest",
26
- "test-file": "npm run test-file-ts",
20
+ "test": "npm run test-jest",
21
+ "test-file": "npm run test-jest-file",
27
22
  "test-browser": "npm run test-chrome && npm run test-firefox",
28
23
  "test-chrome": "node_modules/.bin/selenium-standalone install && nightwatch -e chrome",
29
24
  "test-firefox": "node_modules/.bin/selenium-standalone install && nightwatch -e firefox",
30
- "test-jest": "jest --verbose --roots tests/jest",
25
+ "test-jest": "jest --verbose",
31
26
  "test-jest-file": "jest --verbose",
27
+ "coverage": "npm run coverage-jest",
28
+ "coverage-jest": "npm run test-jest -- --coverage",
32
29
  "dev": "webpack --watch --progress --config webpack.dev.config",
33
30
  "dev-server": "dotenv -c -- webpack serve --progress --hot --config webpack.dev-server.config",
34
31
  "dev-test-axe": "TEST_AXE=true npm run dev",
@@ -78,7 +75,6 @@
78
75
  "@testing-library/react-hooks": "^8.0.1",
79
76
  "@testing-library/user-event": "^14.4.3",
80
77
  "@types/jest": "^29.2.6",
81
- "@types/mocha": "^10.0.1",
82
78
  "@types/node": "^25.9.3",
83
79
  "@types/numeral": "^2.0.5",
84
80
  "@types/prop-types": "^15.7.3",
@@ -88,20 +84,15 @@
88
84
  "@types/react-router": "^3.0.28",
89
85
  "@types/recharts": "^1.8.28",
90
86
  "@types/redux-mock-store": "^1.0.3",
91
- "chai": "4.2.0",
92
87
  "clean-webpack-plugin": "^2.0.1",
93
- "colors-cli": "^1.0.27",
94
88
  "copy-webpack-plugin": "14.0.0",
95
89
  "css-loader": "^7.1.4",
96
90
  "dotenv-cli": "^11.0.0",
97
- "enzyme": "^3.11.0",
98
- "enzyme-adapter-react-16": "^1.15.6",
99
91
  "eslint": "^9.39.4",
100
92
  "eslint-config-prettier": "^10.1.8",
101
93
  "eslint-plugin-jsx-a11y": "^6.10.2",
102
94
  "eslint-plugin-react": "^7.37.5",
103
95
  "eslint-plugin-react-hooks": "^7.1.1",
104
- "fetch-mock": "^10.0.7",
105
96
  "fetch-mock-jest": "^1.5.1",
106
97
  "fetch-ponyfill": "^7.1.0",
107
98
  "file-loader": "^6.2.0",
@@ -111,29 +102,24 @@
111
102
  "jest": "^29.3.1",
112
103
  "jest-environment-jsdom": "^30.4.1",
113
104
  "jest-fixed-jsdom": "^0.0.11",
114
- "jsdom": "^29.1.1",
115
105
  "json-loader": "^0.5.4",
116
106
  "lint-staged": "^17.0.7",
117
107
  "marked": "^18.0.5",
118
108
  "mini-css-extract-plugin": "1.6.0",
119
- "mocha": "^11.7.6",
120
109
  "msw": "^2.7.3",
121
110
  "nightwatch": "^3.14.0",
122
111
  "prettier": "3.8.4",
123
112
  "react-axe": "^3.3.0",
124
- "react-test-renderer": "^16.14.0",
125
113
  "redux-mock-store": "^1.5.4",
126
114
  "resize-observer-polyfill": "^1.5.1",
127
115
  "sass": "^1.64.2",
128
116
  "sass-lint": "^1.13.1",
129
117
  "sass-loader": "^17.0.0",
130
118
  "selenium-standalone": "^10.0.2",
131
- "sinon": "22.0.0",
132
119
  "style-loader": "^4.0.0",
133
120
  "terser-webpack-plugin": "^5.3.6",
134
121
  "ts-jest": "^29.2.6",
135
122
  "ts-loader": "^9.5.2",
136
- "ts-node": "^10.9.2",
137
123
  "typedoc": "^0.28.19",
138
124
  "typescript": "^5.7.3",
139
125
  "typescript-eslint": "^8.60.1",
@@ -153,5 +139,5 @@
153
139
  "*.{js,jsx,ts,tsx,css,md}": "prettier --write",
154
140
  "*.{js,css,md}": "prettier --write"
155
141
  },
156
- "version": "1.43.0"
142
+ "version": "1.44.0-post.10"
157
143
  }