@@ -244,4 +244,105 @@ describe('Save / Open File testing', () => {
244244 console . log ( 'Model updated' )
245245 } )
246246
247+ it ( 'Save model' , async ( ) => {
248+ console . log ( 'Saving model ...' )
249+
250+ await page . click ( selectors . FILE_TAB_SELECTOR )
251+ await page . waitForSelector ( selectors . NEW_FILE_SELECTOR , { timeout : PAGE_WAIT * 3 } )
252+ await page . waitForTimeout ( PAGE_WAIT )
253+ await page . evaluate ( async ( ) => {
254+ document . getElementById ( "Save..." ) . click ( ) ;
255+ } )
256+ await page . waitForSelector ( 'h2[class="MuiTypography-root MuiTypography-h6"]' )
257+
258+ const inputValue = await page . $eval ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , el => el . value ) ;
259+ await page . click ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , { clickCount : 3 } ) ;
260+ await page . waitForTimeout ( PAGE_WAIT )
261+
262+ expect ( page ) . toFill ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , '/home/jovyan/work/NetPyNE-UI/workspace/uploads/aut_test' )
263+ await page . waitForTimeout ( PAGE_WAIT * 2 )
264+ await page . click ( '#appBarPerformActionButton' )
265+ await page . waitForTimeout ( PAGE_WAIT )
266+
267+ console . log ( 'Model saved as default' )
268+ } )
269+
270+ it ( 'Save model - NetParams' , async ( ) => {
271+ console . log ( 'Saving model with NetParams as Python ...' )
272+
273+ await page . click ( selectors . FILE_TAB_SELECTOR )
274+ await page . waitForSelector ( selectors . NEW_FILE_SELECTOR , { timeout : PAGE_WAIT * 3 } )
275+ await page . waitForTimeout ( PAGE_WAIT )
276+ await page . evaluate ( async ( ) => {
277+ document . getElementById ( "Save..." ) . click ( ) ;
278+ } )
279+ await page . waitForSelector ( 'h2[class="MuiTypography-root MuiTypography-h6"]' )
280+
281+ const inputValue = await page . $eval ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , el => el . value ) ;
282+ for ( let i = 0 ; i < inputValue . length ; i ++ ) {
283+ await page . keyboard . press ( 'Backspace' ) ;
284+ }
285+
286+ expect ( page ) . toFill ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , '/home/jovyan/work/NetPyNE-UI/workspace/uploads/aut_test_net_params' )
287+ await page . waitForTimeout ( PAGE_WAIT )
288+
289+ await page . evaluate ( ( ) => {
290+ [ ...document . querySelectorAll ( '.MuiAccordionSummary-content' ) ] . find ( element => element . innerText === "Advanced Options" ) . click ( ) ;
291+ } ) ;
292+
293+ await page . waitForSelector ( 'ul[class="MuiList-root MuiList-padding"]' )
294+ await page . waitForSelector ( 'input[type="checkbox"]' )
295+ await page . waitForTimeout ( PAGE_WAIT )
296+
297+ const checkbox_buttons = await page . $$ ( 'input[type="checkbox"]' )
298+
299+ await checkbox_buttons [ 0 ] . click ( )
300+ await page . waitForTimeout ( PAGE_WAIT )
301+
302+ await page . waitForTimeout ( PAGE_WAIT )
303+ await page . click ( '#appBarPerformActionButton' )
304+ await page . waitForTimeout ( PAGE_WAIT )
305+
306+ console . log ( 'Model saved with NetParams as Python' )
307+
308+ } )
309+
310+ it ( 'Save model - SimConfig' , async ( ) => {
311+ console . log ( 'Saving model with SimConfig as Python ...' )
312+
313+ await page . click ( selectors . FILE_TAB_SELECTOR )
314+ await page . waitForSelector ( selectors . NEW_FILE_SELECTOR , { timeout : PAGE_WAIT * 3 } )
315+ await page . waitForTimeout ( PAGE_WAIT )
316+ await page . evaluate ( async ( ) => {
317+ document . getElementById ( "Save..." ) . click ( ) ;
318+ } )
319+ await page . waitForSelector ( 'h2[class="MuiTypography-root MuiTypography-h6"]' )
320+
321+ const inputValue = await page . $eval ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , el => el . value ) ;
322+ for ( let i = 0 ; i < inputValue . length ; i ++ ) {
323+ await page . keyboard . press ( 'Backspace' ) ;
324+ }
325+
326+ expect ( page ) . toFill ( 'input[class="MuiInputBase-input MuiFilledInput-input MuiInputBase-inputAdornedStart MuiFilledInput-inputAdornedStart"]' , '/home/jovyan/work/NetPyNE-UI/workspace/uploads/aut_test_sim_config' )
327+ await page . waitForTimeout ( PAGE_WAIT )
328+
329+ await page . evaluate ( ( ) => {
330+ [ ...document . querySelectorAll ( '.MuiAccordionSummary-content' ) ] . find ( element => element . innerText === "Advanced Options" ) . click ( ) ;
331+ } ) ;
332+
333+ await page . waitForSelector ( 'ul[class="MuiList-root MuiList-padding"]' )
334+ await page . waitForSelector ( 'input[type="checkbox"]' )
335+ await page . waitForTimeout ( PAGE_WAIT )
336+
337+ const checkbox_buttons = await page . $$ ( 'input[type="checkbox"]' )
338+ await checkbox_buttons [ 1 ] . click ( )
339+ await page . waitForTimeout ( PAGE_WAIT )
340+
341+ await page . waitForTimeout ( PAGE_WAIT * 3 )
342+ await page . click ( '#appBarPerformActionButton' )
343+ await page . waitForTimeout ( PAGE_WAIT )
344+ console . log ( 'Model saved with SimConfig as Python' )
345+
346+ } )
347+
247348} )
0 commit comments