@onehat/ui 0.3.344 → 0.3.346

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onehat/ui",
3
- "version": "0.3.344",
3
+ "version": "0.3.346",
4
4
  "description": "Base UI for OneHat apps",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -73,10 +73,10 @@ import Inflector from 'inflector-js';
73
73
  import _ from 'lodash';
74
74
  const $ = Cypress.$;
75
75
 
76
- const
77
- WINDOWED = 'WINDOWED',
78
- INLINE = 'INLINE',
79
- SIDE = 'SIDE';
76
+ export const WINDOWED = 'WINDOWED';
77
+ export const INLINE = 'INLINE';
78
+ export const SIDE = 'SIDE';
79
+ export const FULL = 'FULL';
80
80
 
81
81
 
82
82
  // Form fields
@@ -316,12 +316,11 @@ export function editGridRecord(gridSelector, fieldValues, schema, id, level = 0,
316
316
  formSelector = editorSelector + '/form';
317
317
 
318
318
  if (whichEditor === SIDE) {
319
- // switch to Edit mode if necessary
320
319
  Cypress.log({ name: 'switch to Edit mode if necessary ' + viewerSelector});
321
320
  clickToEditButtonIfExists(viewerSelector);
322
321
  } else {
323
322
  // windowed or inline editor
324
- Cypress.log({ name: 'SHOULD NOT BE HERE!!'});
323
+ Cypress.log({ name: 'click editBtn ' + gridSelector});
325
324
  clickEditButton(gridSelector);
326
325
  }
327
326
  cy.wait(1500); // allow form to build
@@ -439,7 +438,7 @@ export function crudWindowedTreeRecord(treeSelector, newData, editData, schema,
439
438
  verifyTreeRecordExistsById(treeSelector, id);
440
439
 
441
440
  // edit
442
- editWindowedTreeRecord(treeSelector, editData, schema, id);
441
+ editWindowedTreeRecord(treeSelector, editData, schema, id, level);
443
442
 
444
443
  // delete
445
444
  verifyTreeRecordExistsById(treeSelector, id);
@@ -468,7 +467,7 @@ export function crudSideTreeRecord(treeSelector, newData, editData, schema, anci
468
467
  verifyTreeRecordExistsById(treeSelector, id);
469
468
 
470
469
  // edit
471
- editTreeRecord(treeSelector, editData, schema, id);
470
+ editTreeRecord(treeSelector, editData, schema, id, level, SIDE);
472
471
 
473
472
  // delete
474
473
  verifyTreeRecordExistsById(treeSelector, id);
@@ -558,7 +557,7 @@ export function addWindowedTreeRecord(treeSelector, fieldValues, schema, ancilla
558
557
  cy.wait(500); // allow window to close
559
558
  // TODO: Change this to wait until window is closed
560
559
  }
561
- export function editTreeRecord(treeSelector, fieldValues, schema, id, level = 0) {
560
+ export function editTreeRecord(treeSelector, fieldValues, schema, id, level = 0, whichEditor = WINDOWED) {
562
561
 
563
562
  cy.then(() => {
564
563
  Cypress.log({ name: 'editTreeRecord ' + treeSelector + ' ' + id});
@@ -571,13 +570,11 @@ export function editTreeRecord(treeSelector, fieldValues, schema, id, level = 0)
571
570
  viewerSelector = editorSelector + '/viewer',
572
571
  formSelector = editorSelector + '/form';
573
572
 
574
- const treeName = getLastPartOfPath(treeSelector);
575
- if (treeName.match(/SideTree/)) { // as opposed to 'SideA' -- we want the side editor, not particular sides of another editor
576
- // side editor
577
- // switch to Edit mode if necessary
573
+ if (whichEditor === SIDE) {
574
+ Cypress.log({ name: 'switch to Edit mode if necessary ' + viewerSelector});
578
575
  clickToEditButtonIfExists(viewerSelector);
579
576
  } else {
580
- // windowed or inline editor
577
+ Cypress.log({ name: 'click editBtn ' + treeSelector});
581
578
  clickEditButton(treeSelector);
582
579
  }
583
580
  cy.wait(1500); // allow form to build
@@ -602,7 +599,7 @@ export function editWindowedTreeRecord(treeSelector, fieldValues, schema, id, le
602
599
  Cypress.log({ name: 'editWindowedTreeRecord ' + treeSelector + ' ' + id});
603
600
  });
604
601
 
605
- editTreeRecord(treeSelector, fieldValues, schema, id, level);
602
+ editTreeRecord(treeSelector, fieldValues, schema, id, level, WINDOWED);
606
603
 
607
604
  const formSelector = treeSelector + '/editor/form';
608
605
  clickCloseButton(formSelector);
@@ -719,9 +716,16 @@ export function runClosureTreeControlledManagerScreenCrudTests(model, schema, ne
719
716
  });
720
717
 
721
718
  }
722
- export function runClosureTreeManagerScreenCrudTests(model, schema, newData, editData, ancillaryData) {
723
-
724
- const
719
+ export function runClosureTreeManagerScreenCrudTests(args) {
720
+
721
+ const {
722
+ model,
723
+ schema,
724
+ newData,
725
+ editData,
726
+ ancillaryData,
727
+ skip = null,
728
+ } = args,
725
729
  Models = fixInflector(Inflector.camelize(Inflector.pluralize(model))),
726
730
  url = fixInflector(Inflector.dasherize(Inflector.underscore(Models)));
727
731
 
@@ -742,90 +746,50 @@ export function runClosureTreeManagerScreenCrudTests(model, schema, newData, edi
742
746
  // logout();
743
747
  // });
744
748
 
745
- it('CRUD in full mode', function() {
746
-
747
- const
748
- managerSelector = '/' + Models + 'Manager',
749
- treeSelector = '/' + Models + 'TreeEditor';
750
-
751
- toFullMode(managerSelector);
752
- cy.wait(500); // wait for grid to load
753
-
754
- crudWindowedTreeRecord(treeSelector, newData, editData, schema, ancillaryData);
755
-
756
- });
757
-
758
- it('CRUD in side mode', function() {
759
-
760
- const
761
- managerSelector = '/' + Models + 'Manager',
762
- treeSelector = '/' + Models + 'TreeEditor';
763
-
764
- toSideMode(managerSelector);
765
- cy.wait(1000); // wait for grid to load
749
+ if (skip !== FULL) {
750
+ it('CRUD in full mode', function() {
766
751
 
767
- crudSideTreeRecord(treeSelector, newData, editData, schema, ancillaryData);
752
+ const
753
+ managerSelector = '/' + Models + 'Manager',
754
+ treeSelector = '/' + Models + 'TreeEditor';
768
755
 
769
- });
756
+ toFullMode(managerSelector);
757
+ cy.wait(500); // wait for grid to load
770
758
 
771
- });
759
+ crudWindowedTreeRecord(treeSelector, newData, editData, schema, ancillaryData);
772
760
 
773
- }
774
- export function runInlineManagerScreenCrudTests(model, schema, newData, editData, ancillaryData) {
775
-
776
- const
777
- Models = fixInflector(Inflector.camelize(Inflector.pluralize(model))),
778
- url = fixInflector(Inflector.dasherize(Inflector.underscore(Models)));
779
-
780
- describe(Models + 'Manager', () => {
781
-
782
- beforeEach(function () {
783
- login();
784
- cy.restoreLocalStorage();
785
- cy.url().then((currentUrl) => {
786
- if (!currentUrl.endsWith(url)) {
787
- navigateViaTabOrHomeButtonTo(url);
788
- }
789
761
  });
790
- });
791
-
792
- afterEach(function () {
793
- cy.saveLocalStorage();
794
- logout();
795
- });
796
-
797
- it('CRUD with inline editor in full mode', function() {
798
-
799
- const
800
- managerSelector = '/' + Models + 'Manager',
801
- gridSelector = '/' + Models + 'GridEditor';
802
-
803
- toFullMode(managerSelector);
804
- cy.wait(500); // wait for grid to load
805
-
806
- crudInlineGridRecord(gridSelector, newData, editData, schema, ancillaryData);
807
-
808
- });
762
+ }
809
763
 
810
- it('CRUD in side mode', function() {
764
+ if (skip !== SIDE) {
765
+ it('CRUD in side mode', function() {
811
766
 
812
- const
813
- managerSelector = '/' + Models + 'Manager',
814
- gridSelector = '/' + Models + 'GridEditor';
767
+ const
768
+ managerSelector = '/' + Models + 'Manager',
769
+ treeSelector = '/' + Models + 'TreeEditor';
815
770
 
816
- toSideMode(managerSelector);
817
- cy.wait(1000); // wait for grid to load
771
+ toSideMode(managerSelector);
772
+ cy.wait(1000); // wait for grid to load
818
773
 
819
- crudSideGridRecord(gridSelector, newData, editData, schema, ancillaryData);
774
+ crudSideTreeRecord(treeSelector, newData, editData, schema, ancillaryData);
820
775
 
821
- });
776
+ });
777
+ }
822
778
 
823
779
  });
824
780
 
825
781
  }
826
- export function runManagerScreenCrudTests(model, schema, newData, editData, ancillaryData, fullIsInline = false) {
827
-
828
- const
782
+ export function runManagerScreenCrudTests(args) {
783
+
784
+ const {
785
+ model,
786
+ schema,
787
+ newData,
788
+ editData,
789
+ ancillaryData,
790
+ fullIsInline = false,
791
+ skip = null,
792
+ } = args,
829
793
  Models = fixInflector(Inflector.camelize(Inflector.pluralize(model))),
830
794
  url = fixInflector(Inflector.dasherize(Inflector.underscore(Models)));
831
795
 
@@ -846,35 +810,39 @@ export function runManagerScreenCrudTests(model, schema, newData, editData, anci
846
810
  // logout();
847
811
  // });
848
812
 
849
- it('CRUD in full mode', function() {
850
-
851
- const
852
- managerSelector = '/' + Models + 'Manager',
853
- gridSelector = '/' + Models + 'GridEditor';
854
-
855
- toFullMode(managerSelector);
856
- cy.wait(500); // wait for grid to load
857
-
858
- if (fullIsInline) {
859
- crudInlineGridRecord(gridSelector, newData, editData, schema, ancillaryData);
860
- } else {
861
- crudWindowedGridRecord(gridSelector, newData, editData, schema, ancillaryData);
862
- }
863
-
864
- });
865
-
866
- it('CRUD in side mode', function() {
867
-
868
- const
869
- managerSelector = '/' + Models + 'Manager',
870
- gridSelector = '/' + Models + 'GridEditor';
871
-
872
- toSideMode(managerSelector);
873
- cy.wait(1000); // wait for grid to load
874
-
875
- crudSideGridRecord(gridSelector, newData, editData, schema, ancillaryData);
813
+ if (skip !== FULL) {
814
+ it('CRUD in full mode', function() {
815
+
816
+ const
817
+ managerSelector = '/' + Models + 'Manager',
818
+ gridSelector = '/' + Models + 'GridEditor';
819
+
820
+ toFullMode(managerSelector);
821
+ cy.wait(500); // wait for grid to load
822
+
823
+ if (fullIsInline) {
824
+ crudInlineGridRecord(gridSelector, newData, editData, schema, ancillaryData);
825
+ } else {
826
+ crudWindowedGridRecord(gridSelector, newData, editData, schema, ancillaryData);
827
+ }
828
+
829
+ });
830
+ }
876
831
 
877
- });
832
+ if (skip !== SIDE) {
833
+ it('CRUD in side mode', function() {
834
+
835
+ const
836
+ managerSelector = '/' + Models + 'Manager',
837
+ gridSelector = '/' + Models + 'GridEditor';
838
+
839
+ toSideMode(managerSelector);
840
+ cy.wait(1000); // wait for grid to load
841
+
842
+ crudSideGridRecord(gridSelector, newData, editData, schema, ancillaryData);
843
+
844
+ });
845
+ }
878
846
 
879
847
  });
880
848
 
@@ -138,7 +138,7 @@ export function setComboValue(selectors, value) {
138
138
  .wait('@getWaiter'); // allow dropdown to load
139
139
 
140
140
  cy.get(field)
141
- .wait(1500) // render
141
+ .wait(2000) // render
142
142
  .type('{downarrow}')
143
143
  .wait(1000) // allow time for selection
144
144
 
@@ -179,7 +179,7 @@ export function setTagValue(selectors, value) {
179
179
  .wait('@getWaiter'); // allow dropdown to load
180
180
 
181
181
  cy.get(field)
182
- .wait(1500) // render
182
+ .wait(2000) // render
183
183
  .type('{downarrow}')
184
184
  .wait(1000); // allow time for selection
185
185
  });
@@ -23,7 +23,7 @@ export function login(loginId = null, password = null) {
23
23
  baseDir = Cypress.env('baseDir');
24
24
  cy.visit(baseUrl + baseDir + 'login')
25
25
  .then(() => {
26
- getDomNode('loginId').clear();
26
+ getDomNode('loginId', { timeout: 10000 }).clear();
27
27
  getDomNode('loginId').type(loginId);
28
28
 
29
29
  getDomNode('password').clear();