File size: 6,871 Bytes
52efc7b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

exports[`AskUserDialog > Choice question placeholder > uses default placeholder when not provided 1`] = `
"Select your preferred language:

  1.  TypeScript
  2.  JavaScript
● 3.  Enter a custom value                                                      

Enter to submit Β· Esc to cancel
"
`;

exports[`AskUserDialog > Choice question placeholder > uses placeholder for "Other" option when provided 1`] = `
"Select your preferred language:

  1.  TypeScript
  2.  JavaScript
● 3.  Type another language...                                                  

Enter to submit Β· Esc to cancel
"
`;

exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: false) > shows scroll arrows correctly when useAlternateBuffer is false 1`] = `
"Choose an option

β–²
●  1.  Option 1                                                                 
       Description 1                                                            
   2.  Option 2
       Description 2
   3.  Option 3
       Description 3
β–Ό

Enter to select Β· ↑/↓ to navigate Β· Esc to cancel
"
`;

exports[`AskUserDialog > Scroll Arrows (useAlternateBuffer: true) > shows scroll arrows correctly when useAlternateBuffer is true 1`] = `
"Choose an option

β–²
●  1.  Option 1                                                                 
       Description 1                                                            
   2.  Option 2
       Description 2
   3.  Option 3
       Description 3
β–Ό

Enter to select Β· ↑/↓ to navigate Β· Esc to cancel
"
`;

exports[`AskUserDialog > Text type questions > renders text input for type: "text" 1`] = `
"What should we name this component?

> e.g., UserProfileCard


Enter to submit Β· Esc to cancel
"
`;

exports[`AskUserDialog > Text type questions > shows correct keyboard hints for text type 1`] = `
"Enter the variable name:

> Enter your response


Enter to submit Β· Esc to cancel
"
`;

exports[`AskUserDialog > Text type questions > shows default placeholder when none provided 1`] = `
"Enter the database connection string:

> Enter your response


Enter to submit Β· Esc to cancel
"
`;

exports[`AskUserDialog > allows navigating to Review tab and back 1`] = `
"← β–‘ Tests β”‚ β–‘ Docs β”‚ ≑ Review β†’

Review your answers:

⚠ You have 2 unanswered questions

Tests β†’ (not answered)
Docs β†’ (not answered)

Enter to submit Β· Tab/Shift+Tab to edit answers Β· Esc to cancel
"
`;

exports[`AskUserDialog > hides progress header for single question 1`] = `
"Which authentication method should we use?

● 1.  OAuth 2.0                                                                                                         
      Industry standard, supports SSO                                                                                   
  2.  JWT tokens
      Stateless, good for APIs
  3.  Enter a custom value

Enter to select Β· ↑/↓ to navigate Β· Esc to cancel
"
`;

exports[`AskUserDialog > indents multi-line descriptions correctly 1`] = `
"Single choice?

● 1.  Option 1                          
      This is a very long description   
      that is expected to wrap onto     
      multiple lines in a narrow        
      terminal. We want to ensure that  
      all lines are correctly indented. 
  2.  Enter a custom value

Enter to select Β· ↑/↓ to navigate Β· Esc
to cancel
"
`;

exports[`AskUserDialog > indents multi-line descriptions correctly in multi-select mode 1`] = `
"Multi-select?
(Select all that apply)

● 1. [ ] Option 1                       
         This is a very long description
         that is expected to wrap onto  
         multiple lines in a narrow     
         terminal. We want to ensure    
         that all lines are correctly   
         indented even with checkboxes. 
  2. [ ] Enter a custom value
   Done
   Finish selection

Enter to select Β· ↑/↓ to navigate Β· Esc
to cancel
"
`;

exports[`AskUserDialog > renders question and options 1`] = `
"Which authentication method should we use?

● 1.  OAuth 2.0                                                                                                         
      Industry standard, supports SSO                                                                                   
  2.  JWT tokens
      Stateless, good for APIs
  3.  Enter a custom value

Enter to select Β· ↑/↓ to navigate Β· Esc to cancel
"
`;

exports[`AskUserDialog > shows Review tab in progress header for multiple questions 1`] = `
"← β–‘ Framework β”‚ β–‘ Styling β”‚ ≑ Review β†’

Which framework?

● 1.  React                                                                                                             
      Component library                                                                                                 
  2.  Vue
      Progressive framework
  3.  Enter a custom value

Enter to select Β· ←/β†’ to switch questions Β· Esc to cancel
"
`;

exports[`AskUserDialog > shows keyboard hints 1`] = `
"Which authentication method should we use?

● 1.  OAuth 2.0                                                                                                         
      Industry standard, supports SSO                                                                                   
  2.  JWT tokens
      Stateless, good for APIs
  3.  Enter a custom value

Enter to select Β· ↑/↓ to navigate Β· Esc to cancel
"
`;

exports[`AskUserDialog > shows progress header for multiple questions 1`] = `
"← β–‘ Database β”‚ β–‘ ORM β”‚ ≑ Review β†’

Which database should we use?

● 1.  PostgreSQL                                                                                                        
      Relational database                                                                                               
  2.  MongoDB
      Document database
  3.  Enter a custom value

Enter to select Β· ←/β†’ to switch questions Β· Esc to cancel
"
`;

exports[`AskUserDialog > shows warning for unanswered questions on Review tab 1`] = `
"← β–‘ License β”‚ β–‘ README β”‚ ≑ Review β†’

Review your answers:

⚠ You have 2 unanswered questions

License β†’ (not answered)
README β†’ (not answered)

Enter to submit Β· Tab/Shift+Tab to edit answers Β· Esc to cancel
"
`;

exports[`AskUserDialog > verifies "All of the above" visual state with snapshot 1`] = `
"Which features?
(Select all that apply)

  1. [x] TypeScript
  2. [x] ESLint
● 3. [x] All of the above                                                                                               
         Select all options                                                                                             
  4. [ ] Enter a custom value
   Done
   Finish selection

Enter to select Β· ↑/↓ to navigate Β· Esc to cancel
"
`;