@@ -37,6 +37,56 @@ test('renders page with preloaded field values', () => {
3737 expect ( container . asFragment ( ) ) . toMatchSnapshot ( ) ;
3838} ) ;
3939
40+ test ( 'shows right-to-left language warning when language changes' , ( ) => {
41+ const initialLanguage = 'en' ;
42+ const selectedLanguage = 'fa' ;
43+
44+ const container = render (
45+ < LetterTemplateForm
46+ initialState = { mockDeep < TemplateFormState < LetterTemplate > > ( {
47+ validationError : undefined ,
48+ name : 'template-name' ,
49+ letterType : 'x1' ,
50+ language : initialLanguage ,
51+ } ) }
52+ />
53+ ) ;
54+
55+ fireEvent . change ( container . getByTestId ( 'language-select' ) , {
56+ target : { value : selectedLanguage } ,
57+ } ) ;
58+
59+ const warningElements = container . queryAllByTestId ( 'rtl-language-warning' ) ;
60+
61+ expect ( warningElements . length ) . toBe ( 1 ) ;
62+ expect ( container . asFragment ( ) ) . toMatchSnapshot ( ) ;
63+ } ) ;
64+
65+ test ( 'hides right-to-left language warning when language changes' , ( ) => {
66+ const initialLanguage = 'fa' ;
67+ const selectedLanguage = 'en' ;
68+
69+ const container = render (
70+ < LetterTemplateForm
71+ initialState = { mockDeep < TemplateFormState < LetterTemplate > > ( {
72+ validationError : undefined ,
73+ name : 'template-name' ,
74+ letterType : 'x1' ,
75+ language : initialLanguage ,
76+ } ) }
77+ />
78+ ) ;
79+
80+ fireEvent . change ( container . getByTestId ( 'language-select' ) , {
81+ target : { value : selectedLanguage } ,
82+ } ) ;
83+
84+ const warningElements = container . queryAllByTestId ( 'rtl-language-warning' ) ;
85+
86+ expect ( warningElements . length ) . toBe ( 0 ) ;
87+ expect ( container . asFragment ( ) ) . toMatchSnapshot ( ) ;
88+ } ) ;
89+
4090test ( 'renders page one error' , ( ) => {
4191 const container = render (
4292 < LetterTemplateForm
0 commit comments