@entropic-bond/crud-panel 1.1.0 → 2.2.0

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.
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var progress_controller_1 = require("./progress-controller");
4
+ describe('Progress Controller', function () {
5
+ var observer;
6
+ var controller;
7
+ beforeEach(function () {
8
+ observer = jest.fn();
9
+ controller = new progress_controller_1.ProgressController();
10
+ controller.onProgress(observer);
11
+ });
12
+ describe('Single stage', function () {
13
+ it('should notify on push stage', function () {
14
+ var stage = { name: 'test stage', progress: 0, total: 1 };
15
+ controller.pushStage(stage);
16
+ expect(observer).toHaveBeenCalledWith({
17
+ busy: true,
18
+ overallProgress: 0,
19
+ stages: { 'test stage': stage }
20
+ });
21
+ });
22
+ it('should advance progress', function () {
23
+ var stage = { name: 'test stage', progress: 0, total: 1 };
24
+ controller.pushStage(stage);
25
+ stage.progress = 0.5;
26
+ controller.pushStage(stage);
27
+ expect(observer).toHaveBeenLastCalledWith({
28
+ busy: true,
29
+ overallProgress: 0.5,
30
+ stages: { 'test stage': stage }
31
+ });
32
+ });
33
+ it('should notify not busy on completion', function () {
34
+ var stage = { name: 'test stage', progress: 0, total: 1 };
35
+ controller.pushStage(stage);
36
+ stage.progress = 0.5;
37
+ controller.pushStage(stage);
38
+ stage.progress = 1;
39
+ controller.pushStage(stage);
40
+ expect(observer).toHaveBeenLastCalledWith({
41
+ busy: false,
42
+ overallProgress: 1,
43
+ stages: { 'test stage': stage }
44
+ });
45
+ });
46
+ it('should notify only new stages after completion', function () {
47
+ var stage = { name: 'test stage', progress: 1, total: 1 };
48
+ controller.pushStage(stage);
49
+ expect(observer).toHaveBeenLastCalledWith(expect.objectContaining({ busy: false }));
50
+ controller.pushStage({ name: 'new operation stage', progress: 0, total: 1 });
51
+ expect(observer).toHaveBeenLastCalledWith({
52
+ busy: true,
53
+ overallProgress: 0,
54
+ stages: { 'new operation stage': expect.anything() }
55
+ });
56
+ });
57
+ it('should accept ratios different from 1', function () {
58
+ var stage = { name: 'test stage', progress: 30, total: 100 };
59
+ controller.pushStage(stage);
60
+ expect(observer).toHaveBeenCalledWith({
61
+ busy: true,
62
+ overallProgress: 0.3,
63
+ stages: { 'test stage': stage }
64
+ });
65
+ });
66
+ });
67
+ describe('Multiple stages', function () {
68
+ it('should accumulate subsequent pushed stages', function () {
69
+ var stage1 = { name: 'test stage1', progress: 0, total: 1 };
70
+ var stage2 = { name: 'test stage2', progress: 0, total: 1 };
71
+ controller.pushStage(stage1);
72
+ expect(observer).toHaveBeenLastCalledWith({
73
+ busy: true,
74
+ overallProgress: 0,
75
+ stages: { 'test stage1': stage1 }
76
+ });
77
+ controller.pushStage(stage2);
78
+ expect(observer).toHaveBeenLastCalledWith({
79
+ busy: true,
80
+ overallProgress: 0,
81
+ stages: {
82
+ 'test stage1': stage1,
83
+ 'test stage2': stage2
84
+ }
85
+ });
86
+ });
87
+ it('should calculate overall progress from multiple stages', function () {
88
+ var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
89
+ var stage2 = { name: 'test stage2', progress: 0.5, total: 1 };
90
+ controller.pushStage(stage1);
91
+ controller.pushStage(stage2);
92
+ expect(observer).toHaveBeenLastCalledWith({
93
+ busy: true,
94
+ overallProgress: 0.3,
95
+ stages: expect.anything()
96
+ });
97
+ });
98
+ it('should calculate overall progress from multiple stages with some stages finished', function () {
99
+ var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
100
+ var stage2 = { name: 'test stage2', progress: 0.5, total: 1 };
101
+ controller.pushStage(stage1);
102
+ controller.pushStage(stage2);
103
+ stage1.progress = 1;
104
+ controller.pushStage(stage1);
105
+ expect(observer).toHaveBeenLastCalledWith({
106
+ busy: true,
107
+ overallProgress: 0.75,
108
+ stages: expect.anything()
109
+ });
110
+ });
111
+ it('should notify not busy when all stages finished', function () {
112
+ var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
113
+ var stage2 = { name: 'test stage2', progress: 0.5, total: 1 };
114
+ controller.pushStage(stage1);
115
+ controller.pushStage(stage2);
116
+ stage1.progress = 1;
117
+ controller.pushStage(stage1);
118
+ stage2.progress = 1;
119
+ controller.pushStage(stage2);
120
+ expect(observer).toHaveBeenLastCalledWith({
121
+ busy: false,
122
+ overallProgress: 1,
123
+ stages: expect.anything()
124
+ });
125
+ });
126
+ it('should accept progress with different ratios', function () {
127
+ var stage1 = { name: 'test stage1', progress: 0.1, total: 1 };
128
+ var stage2 = { name: 'test stage2', progress: 50, total: 100 };
129
+ controller.pushStage(stage1);
130
+ controller.pushStage(stage2);
131
+ expect(observer).toHaveBeenLastCalledWith({
132
+ busy: true,
133
+ overallProgress: 0.3,
134
+ stages: expect.anything()
135
+ });
136
+ });
137
+ });
138
+ });
139
+ //# sourceMappingURL=progress-controller.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-controller.spec.js","sourceRoot":"","sources":["../src/progress-controller.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entropic-bond/crud-panel",
3
- "version": "1.1.0",
3
+ "version": "2.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "branches": [
@@ -44,23 +44,23 @@
44
44
  },
45
45
  "homepage": "https://github.com/entropic-bond/crud-panel#readme",
46
46
  "devDependencies": {
47
- "@semantic-release/changelog": "^5.0.1",
48
- "@semantic-release/git": "^9.0.0",
49
- "@testing-library/jest-dom": "^5.14.1",
50
- "@testing-library/react": "^12.0.0",
51
- "@testing-library/user-event": "^13.2.1",
52
- "@types/jest": "^26.0.23",
53
- "@types/react": "^17.0.15",
54
- "@types/react-dom": "^17.0.9",
47
+ "@semantic-release/changelog": "^6.0.1",
48
+ "@semantic-release/git": "^10.0.1",
49
+ "@testing-library/jest-dom": "^5.16.1",
50
+ "@testing-library/react": "^12.1.2",
51
+ "@testing-library/user-event": "^13.5.0",
52
+ "@types/jest": "^27.4.0",
53
+ "@types/react": "^17.0.38",
54
+ "@types/react-dom": "^17.0.11",
55
55
  "fetch-mock": "^9.11.0",
56
56
  "git-branch-is": "^4.0.0",
57
- "husky": "^6.0.0",
58
- "jest": "^27.0.5",
57
+ "husky": "^7.0.4",
58
+ "jest": "^27.4.7",
59
59
  "react": "^17.0.2",
60
60
  "react-dom": "^17.0.2",
61
- "semantic-release": "^17.4.4",
62
- "ts-jest": "^27.0.3",
63
- "typescript": "^4.3.4"
61
+ "semantic-release": "^18.0.1",
62
+ "ts-jest": "^27.1.2",
63
+ "typescript": "^4.5.4"
64
64
  },
65
65
  "husky": {
66
66
  "hooks": {
@@ -68,6 +68,6 @@
68
68
  }
69
69
  },
70
70
  "dependencies": {
71
- "entropic-bond": "^1.9.9"
71
+ "entropic-bond": "^1.19.0"
72
72
  }
73
73
  }
package/lib/utils.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare function snakeCase(str: string, snakeChar?: string): string;
package/lib/utils.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.snakeCase = void 0;
4
- function snakeCase(str, snakeChar) {
5
- if (snakeChar === void 0) { snakeChar = '-'; }
6
- return str[0].toLocaleLowerCase() + str.slice(1).replace(/([A-Z])/g, function (g) { return snakeChar + g[0].toLowerCase(); });
7
- }
8
- exports.snakeCase = snakeCase;
9
- //# sourceMappingURL=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAE,GAAW,EAAE,SAAuB;IAAvB,0BAAA,EAAA,eAAuB;IAC9D,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAA,CAAC,IAAI,OAAA,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAA9B,CAA8B,CAAE,CAAC;AAC5G,CAAC;AAFD,8BAEC"}