26
26
27
27
import { Command } from 'umbraco-cypress-testhelpers' ;
28
28
import { Chainable } from './chainable' ;
29
+ import { JsonHelper } from 'umbraco-cypress-testhelpers' ;
29
30
new Chainable ( ) ;
30
31
new Command ( ) . registerCypressCommands ( ) ;
32
+
33
+ Cypress . Commands . add ( 'umbracoCreateLanguage' , ( culture , isMandatory = false , fallbackLanguageId = 1 ) => {
34
+
35
+ var langData =
36
+ {
37
+ "culture" : culture ,
38
+ "isMandatory" : isMandatory ,
39
+ "fallbackLanguageId" : fallbackLanguageId
40
+ } ;
41
+
42
+ // Create language through API
43
+ cy . getCookie ( 'UMB-XSRF-TOKEN' , { log : false } ) . then ( ( token ) => {
44
+ cy . request ( {
45
+ method : 'POST' ,
46
+ url : '/umbraco/backoffice/umbracoapi/language/SaveLanguage' ,
47
+ followRedirect : true ,
48
+ headers : {
49
+ Accept : 'application/json' ,
50
+ 'X-UMB-XSRF-TOKEN' : token . value ,
51
+ } ,
52
+ body : langData ,
53
+ log : false ,
54
+ } ) . then ( ( response ) => {
55
+ return ;
56
+ } ) ;
57
+ } ) ;
58
+ } ) ;
59
+
60
+ Cypress . Commands . add ( 'umbracoEnsureLanguageNotExists' , ( culture ) => {
61
+ cy . getCookie ( 'UMB-XSRF-TOKEN' , { log : false } ) . then ( ( token ) => {
62
+ console . log ( 'hit commands' )
63
+ cy . request ( {
64
+ method : 'GET' ,
65
+ url : '/umbraco/backoffice/umbracoapi/language/GetAllLanguages' ,
66
+ followRedirect : true ,
67
+ headers : {
68
+ Accept : 'application/json' ,
69
+ 'X-UMB-XSRF-TOKEN' : token . value ,
70
+ } ,
71
+ log : false ,
72
+ } ) . then ( ( response ) => {
73
+ const searchBody = JsonHelper . getBody ( response ) ;
74
+ if ( searchBody . length > 0 ) {
75
+ let languageId = null ;
76
+ for ( const sb of searchBody ) {
77
+ if ( sb . culture === culture ) {
78
+ languageId = sb . id ;
79
+ }
80
+ }
81
+
82
+ if ( languageId !== null ) {
83
+ cy . request ( {
84
+ method : 'POST' ,
85
+ url : '/umbraco/backoffice/umbracoapi/language/DeleteLanguage?id=' + languageId ,
86
+ followRedirect : false ,
87
+ headers : {
88
+ ContentType : 'application/json' ,
89
+ 'X-UMB-XSRF-TOKEN' : token . value ,
90
+ } ,
91
+ } ) . then ( ( resp ) => {
92
+ return ;
93
+ } ) ;
94
+ }
95
+ }
96
+ } ) ;
97
+ } ) ;
98
+ } ) ;
0 commit comments