11import { describe , it , expect , vi , afterEach } from "vitest" ;
22import { render , screen , fireEvent , waitFor } from "@testing-library/vue" ;
3- import { createRouter , createWebHistory } from "vue-router" ;
43import userEvent from "@testing-library/user-event" ;
4+ import { testRouter } from '@/tests/utils/testRouter'
55
66import EditUserView from "@/views/EditUserView.vue" ;
7- import HomeView from "@/views/HomeView.vue" ;
7+ import * as userService from '@/services/userService'
88
99const mockUser = {
1010 id : "123" ,
@@ -19,14 +19,6 @@ const mockUser = {
1919 ]
2020} ;
2121
22- const router = createRouter ( {
23- history : createWebHistory ( ) ,
24- routes : [
25- { path : "/" , component : HomeView } ,
26- { path : "/edit/:id" , component : EditUserView }
27- ]
28- } ) ;
29-
3022afterEach ( ( ) => {
3123 vi . unstubAllGlobals ( ) ;
3224} ) ;
@@ -35,23 +27,15 @@ describe("UI - Editar usuario", () => {
3527 it ( "Debería cargar datos y permitir editar el usuario" , async ( ) => {
3628 vi . stubGlobal ( "alert" , vi . fn ( ) ) ;
3729
38- vi . stubGlobal ( "fetch" , vi . fn ( ( url , options ) => {
39- if ( options && options . method === "PUT" ) {
40- return Promise . resolve ( { ok : true , json : ( ) => Promise . resolve ( { } ) } ) ;
41- }
42-
43- return Promise . resolve ( {
44- ok : true ,
45- json : ( ) => Promise . resolve ( [ mockUser ] )
46- } ) ;
47- } ) ) ;
30+ vi . spyOn ( userService , "getUsers" ) . mockResolvedValue ( [ mockUser ] )
31+ vi . spyOn ( userService , "updateUser" ) . mockResolvedValue ( )
4832
49- router . push ( "/edit/123" ) ;
50- await router . isReady ( ) ;
33+ testRouter . push ( "/edit/123" )
34+ await testRouter . isReady ( )
5135
5236 render ( EditUserView , {
5337 global : {
54- plugins : [ router ]
38+ plugins : [ testRouter ]
5539 }
5640 } ) ;
5741
@@ -70,7 +54,7 @@ describe("UI - Editar usuario", () => {
7054 await fireEvent . click ( submitButton ) ;
7155
7256 await waitFor ( ( ) => {
73- expect ( router . currentRoute . value . fullPath ) . toBe ( "/" ) ;
57+ expect ( testRouter . currentRoute . value . fullPath ) . toBe ( "/home " ) ;
7458 } ) ;
7559 } ) ;
7660} ) ;
0 commit comments