1
+ describe ( 'Publishing Jupyter Notebook' , ( ) => {
2
+
3
+ it ( 'Publish button loads' , ( ) => {
4
+ cy . visit ( 'http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb' ) ;
5
+ cy . get ( 'button[data-jupyter-action="rsconnect_jupyter:publish"]' ) . click ( ) ;
6
+ cy . get ( 'a[id="publish-to-connect"]' ) . should ( 'be.visible' )
7
+ } ) ;
8
+ // wait is required after every action, cypress is too fast for jupyter
9
+ // https://github.com/cypress-io/cypress/issues/249
10
+ it ( 'Add Server' , ( ) => {
11
+ cy . visit ( 'http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb' ) ;
12
+ cy . wait ( 1000 ) ;
13
+ cy . get ( 'a[id="publish-to-connect"]' ) . click ( { force : true } ) ;
14
+ cy . wait ( 1000 ) ;
15
+ cy . get ( 'input[id="rsc-server"]' ) . clear ( ) . type ( 'http://connect:3939' ) ;
16
+ cy . get ( 'input[id="rsc-api-key"]' ) . clear ( ) . type ( Cypress . env ( 'api_key' ) ) ;
17
+ cy . get ( 'input[id="rsc-servername"]' ) . clear ( ) . type ( 'localhost' ) ;
18
+ cy . get ( 'a[class="btn btn-primary"]' ) . contains ( ' Add Server' ) . click ( ) ;
19
+ cy . wait ( 1000 ) ;
20
+ cy . get ( 'span[class="help-block"]' ) . should ( 'not.have.text' , "Unable to verify" ) ;
21
+ } ) ;
22
+ it ( 'Publish Content' , ( ) => {
23
+ cy . visit ( 'http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb' ) ;
24
+ cy . wait ( 1000 ) ;
25
+ cy . get ( 'a[id="publish-to-connect"]' ) . click ( { force : true } ) ;
26
+ cy . wait ( 1000 ) ;
27
+ cy . get ( 'button[id="rsc-add-files"]' ) . click ( ) ;
28
+ cy . wait ( 1000 ) ;
29
+ cy . get ( 'input[name="quandl-wiki-tsla.json.gz"]' ) . click ( ) ;
30
+ cy . wait ( 1000 ) ;
31
+ cy . get ( 'button[id="add-files-dialog-accept"]' ) . click ( ) ;
32
+ cy . wait ( 1000 ) ;
33
+ cy . get ( 'li[class="list-group-item"]' ) . first ( ) . should ( 'have.text' , " quandl-wiki-tsla.json.gz" ) ;
34
+ cy . wait ( 1000 ) ;
35
+ cy . get ( 'a[class="btn btn-primary"]' ) . last ( ) . should ( 'have.text' , "Publish" ) . click ( { force : true } ) ;
36
+ cy . wait ( 1000 ) ;
37
+ cy . get ( 'input[name="location"]' ) . first ( ) . click ( ) ;
38
+ cy . wait ( 1000 ) ;
39
+ cy . get ( 'a[class="btn btn-primary"]' ) . last ( ) . should ( 'have.text' , "Next" ) . click ( ) ;
40
+ cy . wait ( 1000 ) ;
41
+ cy . get ( 'a[class="btn btn-primary"]' ) . last ( ) . should ( 'have.text' , "Publish" ) . click ( ) ;
42
+ cy . wait ( 1000 ) ;
43
+ // allow for 5 minutes to deploy content
44
+ cy . get ( 'span[class="fa fa-link"]' , { timeout : 300000 } ) . last ( ) . should ( 'have.text' , " Successfully published content" ) . click ( ) ;
45
+ } ) ;
46
+ it ( 'Vist Content in Connect' , ( ) => {
47
+ cy . connectLogin ( ) ;
48
+ cy . visit ( 'http://connect:3939' ) ;
49
+ cy . get ( 'div[class="content-table__display-name"]' ) . first ( ) . contains ( 'stock-report-jupyter' ) . click ( ) ;
50
+ cy . contentiFrame ( ) . contains ( 'Stock Report: TSLA' ) ;
51
+ } ) ;
52
+ } ) ;
0 commit comments