1- import { fireEvent , render , screen , waitFor } from "@testing-library/react" ;
1+ import { cleanup , fireEvent , render , screen , waitFor } from "@testing-library/react" ;
22import userEvent from "@testing-library/user-event" ;
33import { MemoryRouter , Route , Routes } from "react-router-dom" ;
44import { afterEach , describe , expect , it , vi } from "vitest" ;
@@ -59,6 +59,7 @@ function renderDetail(id = "item-1") {
5959let cleanupFetch : ( ) => void ;
6060
6161afterEach ( ( ) => {
62+ cleanup ( ) ;
6263 setActiveUpstream ( null ) ;
6364 localStorage . removeItem ( "wl_active" ) ;
6465 cleanupFetch ?.( ) ;
@@ -525,17 +526,28 @@ describe("DetailView", () => {
525526 screen . getByRole ( "button" , { name : "accept" } ) ,
526527 ) . toBeInTheDocument ( ) ,
527528 ) ;
528- await userEvent . click ( screen . getByRole ( "button" , { name : "accept" } ) ) ;
529+ fireEvent . click ( screen . getByRole ( "button" , { name : "accept" } ) ) ;
529530 await waitFor ( ( ) =>
530531 expect (
531532 screen . getByRole ( "dialog" , { name : "Accept Submission" } ) ,
532533 ) . toBeInTheDocument ( ) ,
533534 ) ;
534- await userEvent . selectOptions ( screen . getByLabelText ( "Quality" ) , "4" ) ;
535- await userEvent . selectOptions ( screen . getByLabelText ( "Reliability" ) , "3" ) ;
536- await userEvent . selectOptions ( screen . getByLabelText ( "Severity" ) , "branch" ) ;
537- await userEvent . type ( screen . getByLabelText ( "Message" ) , "Solid review" ) ;
538- await userEvent . click ( screen . getByRole ( "button" , { name : "Accept" } ) ) ;
535+ fireEvent . change ( screen . getByLabelText ( "Quality" ) , {
536+ target : { value : "4" } ,
537+ } ) ;
538+ fireEvent . change ( screen . getByLabelText ( "Reliability" ) , {
539+ target : { value : "3" } ,
540+ } ) ;
541+ fireEvent . change ( screen . getByLabelText ( "Severity" ) , {
542+ target : { value : "branch" } ,
543+ } ) ;
544+ fireEvent . change ( screen . getByLabelText ( "Tags" ) , {
545+ target : { value : "go, sql" } ,
546+ } ) ;
547+ fireEvent . change ( screen . getByLabelText ( "Message" ) , {
548+ target : { value : "Solid review" } ,
549+ } ) ;
550+ fireEvent . click ( screen . getByRole ( "button" , { name : "Accept" } ) ) ;
539551 await waitFor ( ( ) => {
540552 const acceptCalls = fetchFn . mock . calls . filter ( ( [ u ] ) =>
541553 u . endsWith ( "/accept-upstream" ) ,
@@ -548,11 +560,12 @@ describe("DetailView", () => {
548560 quality : 4 ,
549561 reliability : 3 ,
550562 severity : "branch" ,
563+ skill_tags : [ "go" , "sql" ] ,
551564 message : "Solid review" ,
552565 } ) ,
553566 ) ;
554567 } ) ;
555- } ) ;
568+ } , 10000 ) ;
556569
557570 it ( "opens an accept dialog for mainline acceptance and lets reliability default to quality" , async ( ) => {
558571 setActiveUpstream ( "hop/wl-commons" ) ;
@@ -573,16 +586,21 @@ describe("DetailView", () => {
573586 screen . getByRole ( "button" , { name : "accept" } ) ,
574587 ) . toBeInTheDocument ( ) ,
575588 ) ;
576- await userEvent . click ( screen . getByRole ( "button" , { name : "accept" } ) ) ;
589+ fireEvent . click ( screen . getByRole ( "button" , { name : "accept" } ) ) ;
577590 expect (
578591 screen . getByRole ( "dialog" , { name : "Accept Submission" } ) ,
579592 ) . toBeInTheDocument ( ) ;
580593 expect (
581594 fetchFn . mock . calls . filter ( ( [ u ] ) => u . endsWith ( "/accept" ) ) ,
582595 ) . toHaveLength ( 0 ) ;
583596
584- await userEvent . selectOptions ( screen . getByLabelText ( "Quality" ) , "5" ) ;
585- await userEvent . click ( screen . getByRole ( "button" , { name : "Accept" } ) ) ;
597+ fireEvent . change ( screen . getByLabelText ( "Quality" ) , {
598+ target : { value : "5" } ,
599+ } ) ;
600+ fireEvent . change ( screen . getByLabelText ( "Tags" ) , {
601+ target : { value : "ops, review" } ,
602+ } ) ;
603+ fireEvent . click ( screen . getByRole ( "button" , { name : "Accept" } ) ) ;
586604
587605 await waitFor ( ( ) => {
588606 const acceptCalls = fetchFn . mock . calls . filter ( ( [ u ] ) =>
@@ -593,10 +611,11 @@ describe("DetailView", () => {
593611 JSON . stringify ( {
594612 quality : 5 ,
595613 severity : "leaf" ,
614+ skill_tags : [ "ops" , "review" ] ,
596615 } ) ,
597616 ) ;
598617 } ) ;
599- } ) ;
618+ } , 10000 ) ;
600619
601620 it ( "reloads detail after a conflicting mainline accept" , async ( ) => {
602621 setActiveUpstream ( "hop/wl-commons" ) ;
0 commit comments