@@ -67,6 +67,38 @@ describe("useJobsData extended", () => {
6767 expect ( result . current . error ) . toBe ( "falha jobs" ) ;
6868 } ) ;
6969
70+ it ( "aplica os metadados padrão quando a API retorna payload parcial" , async ( ) => {
71+ mocks . fetchJobsByAPIMock . mockResolvedValueOnce ( { } ) ;
72+
73+ const { result } = renderHook ( ( ) => useJobsData ( 3 , 10 ) ) ;
74+
75+ await waitFor ( ( ) => {
76+ expect ( result . current . loading ) . toBe ( false ) ;
77+ expect ( result . current . meta ) . toEqual ( {
78+ total : 0 ,
79+ hasNext : false ,
80+ hasPrev : false ,
81+ page : 3 ,
82+ limit : 10 ,
83+ totalPages : 0 ,
84+ } ) ;
85+ } ) ;
86+
87+ expect ( result . current . jobs ) . toEqual ( [ ] ) ;
88+ } ) ;
89+
90+ it ( "usa mensagem padrão quando carregar vagas rejeita sem Error" , async ( ) => {
91+ mocks . fetchJobsByAPIMock . mockRejectedValueOnce ( "offline" ) ;
92+
93+ const { result } = renderHook ( ( ) => useJobsData ( ) ) ;
94+
95+ await waitFor ( ( ) => {
96+ expect ( result . current . error ) . toBe (
97+ "Erro inesperado ao carregar vagas." ,
98+ ) ;
99+ } ) ;
100+ } ) ;
101+
70102 it ( "triggerScraper carrega jobs após executar request" , async ( ) => {
71103 const { result } = renderHook ( ( ) => useJobsData ( ) ) ;
72104
@@ -78,4 +110,23 @@ describe("useJobsData extended", () => {
78110 expect ( mocks . fetchJobsByAPIMock ) . toHaveBeenCalled ( ) ;
79111 expect ( result . current . scraping ) . toBe ( false ) ;
80112 } ) ;
113+
114+ it ( "usa mensagem padrão quando o scraper rejeita sem Error" , async ( ) => {
115+ mocks . runScraperRequestMock . mockRejectedValueOnce ( "indisponível" ) ;
116+
117+ const { result } = renderHook ( ( ) => useJobsData ( ) ) ;
118+
119+ await waitFor ( ( ) => {
120+ expect ( result . current . loading ) . toBe ( false ) ;
121+ } ) ;
122+
123+ await act ( async ( ) => {
124+ await result . current . triggerScraper ( ) ;
125+ } ) ;
126+
127+ expect ( result . current . error ) . toBe (
128+ "Erro inesperado ao executar o scraper." ,
129+ ) ;
130+ expect ( result . current . scraping ) . toBe ( false ) ;
131+ } ) ;
81132} ) ;
0 commit comments