11import { renderHook , act } from "@testing-library/react-hooks" ;
22import { usePageErrors } from "./use-page-errors" ;
3- import { ResultRecord } from "andculturecode-javascript-core" ;
3+ import {
4+ ResultRecord ,
5+ ResultErrorRecord ,
6+ } from "andculturecode-javascript-core" ;
47
58describe ( "usePageErrors" , ( ) => {
6- describe ( "initialized" , ( ) => {
7- test ( "returns empty array" , async ( ) => {
9+ // -----------------------------------------------------------------------------------------
10+ // #region initialization
11+ // -----------------------------------------------------------------------------------------
12+
13+ describe ( "initialization" , ( ) => {
14+ test ( "returns empty array" , ( ) => {
815 // Arrange & Act
916 const { result } = renderHook ( ( ) => usePageErrors ( ) ) ;
1017
@@ -13,8 +20,14 @@ describe("usePageErrors", () => {
1320 } ) ;
1421 } ) ;
1522
23+ // #endregion
24+
25+ // -----------------------------------------------------------------------------------------
26+ // #region setPageErrors
27+ // -----------------------------------------------------------------------------------------
28+
1629 describe ( "setPageErrors" , ( ) => {
17- test ( "when set with string array, pageErrors returns array" , async ( ) => {
30+ test ( "when set with string array, pageErrors returns array" , ( ) => {
1831 // Arrange
1932 const errorMessage = "Error Message" ;
2033 const { result } = renderHook ( ( ) => usePageErrors ( ) ) ;
@@ -25,13 +38,19 @@ describe("usePageErrors", () => {
2538 } ) ;
2639
2740 // Assert
28- expect ( result . current . pageErrors . length ) . toBe ( 1 ) ;
41+ expect ( result . current . pageErrors ) . toHaveLength ( 1 ) ;
2942 expect ( result . current . pageErrors [ 0 ] ) . toBe ( errorMessage ) ;
3043 } ) ;
3144 } ) ;
3245
46+ // #endregion setPageErrors
47+
48+ // -----------------------------------------------------------------------------------------
49+ // #region handlePageLoadError
50+ // -----------------------------------------------------------------------------------------
51+
3352 describe ( "handlePageLoadError" , ( ) => {
34- test ( "when error is string, pageErrors returns array" , async ( ) => {
53+ test ( "when error is string, pageErrors returns array" , ( ) => {
3554 // Arrange
3655 const errorMessage = "Error Message" ;
3756 const { result } = renderHook ( ( ) => usePageErrors ( ) ) ;
@@ -42,32 +61,41 @@ describe("usePageErrors", () => {
4261 } ) ;
4362
4463 // Assert
45- expect ( result . current . pageErrors . length ) . toBe ( 1 ) ;
64+ expect ( result . current . pageErrors ) . toHaveLength ( 1 ) ;
4665 expect ( result . current . pageErrors [ 0 ] ) . toBe ( errorMessage ) ;
4766 } ) ;
4867
49- test ( "when error is ResultRecord, pageErrors returns array" , async ( ) => {
68+ test ( "when error is ResultRecord, pageErrors returns array" , ( ) => {
5069 // Arrange
5170 const errorMessage = "Error Message" ;
71+ const erroredResultRecord = new ResultRecord < any > ( ) . with ( {
72+ errors : [
73+ new ResultErrorRecord ( ) . with ( {
74+ message : errorMessage ,
75+ } ) ,
76+ ] ,
77+ } ) ;
5278 const { result } = renderHook ( ( ) => usePageErrors ( ) ) ;
5379
5480 // Act
5581 act ( ( ) => {
56- const error = {
57- listErrorMessages : ( ) => [ errorMessage ] ,
58- } as ResultRecord < any > ;
59-
60- result . current . handlePageLoadError ( error ) ;
82+ result . current . handlePageLoadError ( erroredResultRecord ) ;
6183 } ) ;
6284
6385 // Assert
64- expect ( result . current . pageErrors . length ) . toBe ( 1 ) ;
86+ expect ( result . current . pageErrors ) . toHaveLength ( 1 ) ;
6587 expect ( result . current . pageErrors [ 0 ] ) . toBe ( errorMessage ) ;
6688 } ) ;
6789 } ) ;
6890
91+ // #endregion handlePageLoadError
92+
93+ // -----------------------------------------------------------------------------------------
94+ // #region resetPageErrors
95+ // -----------------------------------------------------------------------------------------
96+
6997 describe ( "resetPageErrors" , ( ) => {
70- test ( "when executed, pageErrors returns empty array" , async ( ) => {
98+ test ( "when executed, pageErrors returns empty array" , ( ) => {
7199 // Arrange
72100 const { result } = renderHook ( ( ) => usePageErrors ( ) ) ;
73101 act ( ( ) => {
@@ -83,4 +111,6 @@ describe("usePageErrors", () => {
83111 expect ( result . current . pageErrors ) . toBeEmpty ( ) ;
84112 } ) ;
85113 } ) ;
114+
115+ // #endregion resetPageErrors
86116} ) ;
0 commit comments