[add] cypress.io e2e testing
This commit is contained in:
parent
53c8fbc228
commit
d2dd404ac2
26 changed files with 1952 additions and 173 deletions
|
@ -18,7 +18,7 @@
|
||||||
:enable-resize-watcher="true">
|
:enable-resize-watcher="true">
|
||||||
<v-list class="pa-0">
|
<v-list class="pa-0">
|
||||||
|
|
||||||
<v-list-item avatar tag="div">
|
<v-list-item tag="div">
|
||||||
<v-list-item-avatar >
|
<v-list-item-avatar >
|
||||||
<v-btn icon @click="session">
|
<v-btn icon @click="session">
|
||||||
<v-avatar size="36">
|
<v-avatar size="36">
|
||||||
|
@ -62,7 +62,7 @@
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</template >
|
</template >
|
||||||
<v-list>
|
<v-list>
|
||||||
<v-list-item to="/session" avatar ripple>
|
<v-list-item to="/session" ripple>
|
||||||
<v-list-item-title >Session</v-list-item-title>
|
<v-list-item-title >Session</v-list-item-title>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
<v-list-item @click="logout()">
|
<v-list-item @click="logout()">
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
<v-list-item
|
<v-list-item
|
||||||
v-for="(mime,index) in items" :key="index"
|
v-for="(mime,index) in items" :key="index"
|
||||||
avatar dense ripple
|
dense ripple
|
||||||
@click="setItem(mime,index)"
|
@click="setItem(mime,index)"
|
||||||
|
|
||||||
>
|
>
|
||||||
|
@ -85,6 +85,6 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
created:function(){
|
created:function(){
|
||||||
console.log("qd-mimelist",this.$MimeTypes.list())
|
//console.log("qd-mimelist",this.$MimeTypes.list())
|
||||||
}
|
}
|
||||||
}</script>
|
}</script>
|
||||||
|
|
|
@ -20,7 +20,7 @@ for nav drawer
|
||||||
|
|
||||||
<v-list-item v-if="!mini" v-for="subItem in item.children" v-bind:key="subItem.text"
|
<v-list-item v-if="!mini" v-for="subItem in item.children" v-bind:key="subItem.text"
|
||||||
:prepend-icon="subItem.icon"
|
:prepend-icon="subItem.icon"
|
||||||
:to="subItem.href" avatar ripple >
|
:to="subItem.href" ripple >
|
||||||
<v-list-item-avatar>
|
<v-list-item-avatar>
|
||||||
<v-icon>{{ subItem.icon }}</v-icon>
|
<v-icon>{{ subItem.icon }}</v-icon>
|
||||||
</v-list-item-avatar>
|
</v-list-item-avatar>
|
||||||
|
|
|
@ -26,10 +26,10 @@
|
||||||
|
|
||||||
<v-data-table
|
<v-data-table
|
||||||
:headers="headers"
|
:headers="headers"
|
||||||
:items="items"
|
:item="items"
|
||||||
:search="search"
|
:search="search"
|
||||||
v-model="selected"
|
v-model="selected"
|
||||||
select-all
|
show-select
|
||||||
class="elevation-1"
|
class="elevation-1"
|
||||||
:no-data-text="noDataMsg"
|
:no-data-text="noDataMsg"
|
||||||
>
|
>
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<v-list style="height: 300px; overflow-y: auto;">
|
<v-list style="height: 300px; overflow-y: auto;">
|
||||||
<v-list-item
|
<v-list-item
|
||||||
v-for="index in edittabs.sorted(q)" :key="index"
|
v-for="index in edittabs.sorted(q)" :key="index"
|
||||||
avatar dense ripple
|
dense ripple
|
||||||
@click="setItem(index)" :inactive="index == current"
|
@click="setItem(index)" :inactive="index == current"
|
||||||
>
|
>
|
||||||
<v-list-item-avatar :title="edittabs.items[index].contentType">
|
<v-list-item-avatar :title="edittabs.items[index].contentType">
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
</v-layout>
|
</v-layout>
|
||||||
|
|
||||||
<v-layout align-center justify-center column fill-height xs1 amber lighten-5>
|
<v-layout align-center justify-center column fill-height xs1 amber lighten-5>
|
||||||
<v-btn @click="clear()"
|
<v-btn @click="clear()" id="btn-clear"
|
||||||
>Clear</v-btn>
|
>Clear</v-btn>
|
||||||
<v-btn @click="reset()"
|
<v-btn @click="reset()"
|
||||||
>Reset</v-btn>
|
>Reset</v-btn>
|
||||||
|
|
|
@ -137,7 +137,7 @@
|
||||||
},
|
},
|
||||||
// execute imediatly
|
// execute imediatly
|
||||||
run(){
|
run(){
|
||||||
|
console.log("run:",this.xq);
|
||||||
this.showResult= true;
|
this.showResult= true;
|
||||||
this.start = performance.now();
|
this.start = performance.now();
|
||||||
HTTPNE.post("eval/execute",Qs.stringify({xq:this.xq}))
|
HTTPNE.post("eval/execute",Qs.stringify({xq:this.xq}))
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
(:~
|
(:~
|
||||||
: vue-poc thumbnail api.
|
: vue-poc XQuery evalution api.
|
||||||
|
: eval/execute: evaluate form arg return as json
|
||||||
:
|
:
|
||||||
: @author Andy Bunce may-2017
|
: @author Andy Bunce may-2017
|
||||||
:)
|
:)
|
||||||
|
@ -21,6 +22,7 @@ declare
|
||||||
%output:method("json")
|
%output:method("json")
|
||||||
function vue-api:eval($xq )
|
function vue-api:eval($xq )
|
||||||
{
|
{
|
||||||
|
let $a:=trace($xq,"EXEC")
|
||||||
let $r:=util:query($xq,())
|
let $r:=util:query($xq,())
|
||||||
return vue-api:response($r,$xq)
|
return vue-api:response($r,$xq)
|
||||||
};
|
};
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
:items="items"
|
:items="items"
|
||||||
:search="search"
|
:search="search"
|
||||||
v-model="selected"
|
v-model="selected"
|
||||||
select-all
|
show-select
|
||||||
class="elevation-1"
|
class="elevation-1"
|
||||||
no-data-text="No Jobs currently running"
|
no-data-text="No Jobs currently running"
|
||||||
>
|
>
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
:items="items"
|
:items="items"
|
||||||
:search="search"
|
:search="search"
|
||||||
v-model="selected"
|
v-model="selected"
|
||||||
select-all
|
show-select
|
||||||
class="elevation-1"
|
class="elevation-1"
|
||||||
no-data-text="No Jobs currently running"
|
no-data-text="No Jobs currently running"
|
||||||
>
|
>
|
||||||
|
|
|
@ -1,49 +1,74 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<template id="documentation">
|
<template id="documentation">
|
||||||
<v-container fluid>
|
<v-container fluid grid-list-md>
|
||||||
<v-toolbar dense >
|
<v-data-iterator
|
||||||
<v-toolbar-title>documentation</v-toolbar-title>
|
:items="items"
|
||||||
<v-spacer></v-spacer>
|
:items-per-page.sync="itemsPerPage"
|
||||||
<v-btn
|
:search="search"
|
||||||
icon
|
hide-default-footer
|
||||||
:loading="loading"
|
>
|
||||||
@click="get()"
|
|
||||||
:disabled="loading"
|
|
||||||
>
|
|
||||||
<v-icon>refresh</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<a href="/vue-poc/api/xqdocjob" target="doc">json</a>
|
|
||||||
</v-toolbar>
|
|
||||||
|
|
||||||
<v-container fluid grid-list-md>
|
<template v-slot:header>
|
||||||
<v-layout row wrap >
|
<v-toolbar
|
||||||
<v-flex height="80px"
|
dark
|
||||||
xs2
|
color="blue darken-3"
|
||||||
v-for="item in items"
|
class="mb-1"
|
||||||
:key="item.id"
|
>
|
||||||
>
|
<v-toolbar-title>XQDocs</v-toolbar-title>
|
||||||
<v-card :hover="true" >
|
<v-spacer></v-spacer>
|
||||||
<v-toolbar color="blue lighten-3" dense>
|
<v-text-field
|
||||||
<v-card-title >{{ item.name }}</v-card-title>
|
v-model="search"
|
||||||
</v-toolbar>
|
clearable
|
||||||
<v-card-text>{{ item.id }}</v-card-text>
|
flat
|
||||||
<v-card-text>{{ item.created | formatDate }}</v-card-text>
|
solo-inverted
|
||||||
<v-card-actions>
|
hide-details
|
||||||
<a :href="item.href" target="_new">go</a>
|
prepend-inner-icon="search"
|
||||||
</v-card-actions>
|
label="Search"
|
||||||
|
></v-text-field>
|
||||||
|
<v-spacer></v-spacer>
|
||||||
|
<v-btn @click="get" icon :loading="loading"
|
||||||
|
:disabled="loading"
|
||||||
|
><v-icon>refresh</v-icon></v-btn>
|
||||||
|
</v-toolbar>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template v-slot:default="props">
|
||||||
|
<v-layout wrap>
|
||||||
|
<v-flex
|
||||||
|
v-for="item in props.items"
|
||||||
|
:key="item.name"
|
||||||
|
xs12
|
||||||
|
sm6
|
||||||
|
md4
|
||||||
|
lg3
|
||||||
|
>
|
||||||
|
<v-card :hover="true" >
|
||||||
|
<v-toolbar color="blue lighten-3" dense>
|
||||||
|
<v-card-title >{{ item.name }}</v-card-title>
|
||||||
|
</v-toolbar>
|
||||||
|
<v-card-text>{{ item.id }}</v-card-text>
|
||||||
|
<v-card-text>{{ item.created | formatDate }}</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
|
<a :href="item.href" target="_new">go</a>
|
||||||
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-flex>
|
|
||||||
|
</v-flex>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
</v-container>
|
</template>
|
||||||
|
|
||||||
</v-container>
|
</v-data-iterator>
|
||||||
|
</v-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>{
|
<script>{
|
||||||
data: function(){
|
data: function(){
|
||||||
return {
|
return {
|
||||||
message: 'Hello Vue.js!',
|
itemsPerPage: 100,
|
||||||
|
page: 1,
|
||||||
items:[],
|
items:[],
|
||||||
|
search: '',
|
||||||
|
filter: {},
|
||||||
loading: false
|
loading: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,86 +1,88 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<template id="entity">
|
<template id="entity">
|
||||||
<v-card>
|
<v-container fluid grid-list-md>
|
||||||
<v-toolbar >
|
|
||||||
<v-toolbar-title>
|
|
||||||
<v-breadcrumbs :items="[{text:'Entities',to:'/entity'}]" >
|
|
||||||
<template slot="item" slot-scope="props">
|
|
||||||
<v-breadcrumbs-item :to="props.item.to" :disabled="props.item.disabled" :exact="true">
|
|
||||||
{{ props.item.text }}
|
|
||||||
</v-breadcrumbs-item>
|
|
||||||
</template>
|
|
||||||
</v-breadcrumbs>
|
|
||||||
</v-toolbar-title>
|
|
||||||
|
|
||||||
<v-text-field prepend-icon="filter_list" label="Filter..." v-model="q" type="search"
|
|
||||||
hide-details single-line @keyup.enter="setfilter"
|
|
||||||
clearable></v-text-field>
|
|
||||||
<v-spacer></v-spacer>
|
|
||||||
<v-btn @click="getItems" icon
|
|
||||||
:loading="loading"
|
|
||||||
:disabled="loading"
|
|
||||||
><v-icon>refresh</v-icon></v-btn>
|
|
||||||
<vp-entitylink entity="entity"></vp-entitylink>
|
|
||||||
</v-toolbar>
|
|
||||||
|
|
||||||
<v-container fluid grid-list-md>
|
|
||||||
|
|
||||||
<v-data-iterator
|
<v-data-iterator
|
||||||
content-tag="v-layout"
|
:items="items"
|
||||||
row
|
:items-per-page.sync="itemsPerPage"
|
||||||
wrap
|
|
||||||
:loading="loading"
|
|
||||||
:items="items"
|
|
||||||
:search="q"
|
:search="q"
|
||||||
:rows-per-page-items="rowsPerPageItems"
|
hide-default-footer
|
||||||
:pagination.sync="pagination"
|
|
||||||
select-all
|
select-all
|
||||||
:value="selected"
|
:value="selected"
|
||||||
>
|
>
|
||||||
<v-flex
|
|
||||||
slot="item"
|
<template v-slot:header>
|
||||||
slot-scope="props"
|
<v-toolbar >
|
||||||
xs12
|
<v-toolbar-title>
|
||||||
sm6
|
<v-breadcrumbs :items="[{text:'Entities',to:'/entity'}]" >
|
||||||
md4
|
<template slot="item" slot-scope="props">
|
||||||
lg3
|
<v-breadcrumbs-item :to="props.item.to" :disabled="props.item.disabled" :exact="true">
|
||||||
>
|
{{ props.item.text }}
|
||||||
|
</v-breadcrumbs-item>
|
||||||
|
</template>
|
||||||
|
</v-breadcrumbs>
|
||||||
|
</v-toolbar-title>
|
||||||
|
|
||||||
|
<v-text-field prepend-icon="filter_list" label="Filter..." v-model="q" type="search"
|
||||||
|
hide-details single-line @keyup.enter="setfilter"
|
||||||
|
clearable></v-text-field>
|
||||||
|
<v-spacer></v-spacer>
|
||||||
|
<v-btn @click="getItems" icon
|
||||||
|
:loading="loading"
|
||||||
|
:disabled="loading"
|
||||||
|
><v-icon>refresh</v-icon></v-btn>
|
||||||
|
<vp-entitylink entity="entity"></vp-entitylink>
|
||||||
|
</v-toolbar>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template v-slot:default="props">
|
||||||
|
<v-layout wrap>
|
||||||
|
<v-flex
|
||||||
|
v-for="item in props.items"
|
||||||
|
:key="item.name"
|
||||||
|
xs12
|
||||||
|
sm6
|
||||||
|
md4
|
||||||
|
lg3
|
||||||
|
>
|
||||||
|
|
||||||
<v-card :hover="true" active-class="default-class qd-active" height="200px" max-height="200px">
|
<v-card :hover="true" active-class="default-class qd-active" height="200px" max-height="200px">
|
||||||
|
|
||||||
<v-toolbar color="blue lighten-3" dense>
|
<v-toolbar color="blue lighten-3" dense>
|
||||||
<v-toolbar-title>
|
<v-toolbar-title>
|
||||||
<router-link :to="{path:'entity/'+ props.item.name}">
|
<router-link :to="{path:'entity/'+ item.name}">
|
||||||
|
|
||||||
<v-icon>{{ props.item.iconclass }}</v-icon> {{ props.item.name }}
|
<v-icon>{{ item.iconclass }}</v-icon> {{ item.name }}
|
||||||
|
|
||||||
</v-toolbar-title>
|
</v-toolbar-title>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-card-text >{{ props.item.description }}</<v-card-text>
|
<v-card-text >{{ item.description }}</<v-card-text>
|
||||||
<v-card-actions green>
|
<v-card-actions green>
|
||||||
Fields
|
Fields
|
||||||
<v-badge >
|
<v-badge >
|
||||||
<span slot="badge">{{ props.item.nfields }}</span>
|
<span slot="badge">{{ item.nfields }}</span>
|
||||||
Fields
|
Fields
|
||||||
</v-badge>
|
</v-badge>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-flex>
|
</v-flex>
|
||||||
|
</v-layout>
|
||||||
|
</template>
|
||||||
</v-data-iterator>
|
</v-data-iterator>
|
||||||
</v-container>
|
</v-container>
|
||||||
</v-card>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>{
|
<script>{
|
||||||
data: function(){
|
data: function(){
|
||||||
return {
|
return {
|
||||||
q: '',
|
itemsPerPage: 100,
|
||||||
items: [],
|
page: 1,
|
||||||
|
items:[],
|
||||||
|
search: '',
|
||||||
|
filter: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
rowsPerPageItems: [4, 8, 20],
|
q: '',
|
||||||
pagination: {
|
|
||||||
rowsPerPage: 20
|
|
||||||
},
|
|
||||||
selected:[]
|
selected:[]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -15,6 +15,6 @@
|
||||||
"qs": "6.4.0",
|
"qs": "6.4.0",
|
||||||
"localforage": "1.7.1",
|
"localforage": "1.7.1",
|
||||||
"momentjs": "2.18.1",
|
"momentjs": "2.18.1",
|
||||||
"vuetify-jsonschema-form": "0.24.1"
|
"vuetify-jsonschema-form": "0.27.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
// generated 2019-07-28T23:09:34.827+01:00
|
// generated 2019-08-01T21:43:37.847+01:00
|
||||||
|
|
||||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
|
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
|
||||||
Vue.component('qd-autoheight',{template:`
|
Vue.component('qd-autoheight',{template:`
|
||||||
|
@ -183,7 +183,7 @@ Vue.component('qd-mimelist',{template:`
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<v-list style="height: 300px; overflow-y: auto;">
|
<v-list style="height: 300px; overflow-y: auto;">
|
||||||
|
|
||||||
<v-list-item v-for="(mime,index) in items" :key="index" avatar dense ripple @click="setItem(mime,index)">
|
<v-list-item v-for="(mime,index) in items" :key="index" dense ripple @click="setItem(mime,index)">
|
||||||
<v-list-item-avatar>
|
<v-list-item-avatar>
|
||||||
<v-icon v-if="false">check_circle</v-icon>
|
<v-icon v-if="false">check_circle</v-icon>
|
||||||
<v-icon v-else>insert_drive_file</v-icon>
|
<v-icon v-else>insert_drive_file</v-icon>
|
||||||
|
@ -235,7 +235,7 @@ Vue.component('qd-mimelist',{template:`
|
||||||
},
|
},
|
||||||
|
|
||||||
created:function(){
|
created:function(){
|
||||||
console.log("qd-mimelist",this.$MimeTypes.list())
|
//console.log("qd-mimelist",this.$MimeTypes.list())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -253,7 +253,7 @@ Vue.component('qd-navlist',{template:`
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<v-list-item v-if="!mini" v-for="subItem in item.children" v-bind:key="subItem.text" :prepend-icon="subItem.icon" :to="subItem.href" avatar ripple>
|
<v-list-item v-if="!mini" v-for="subItem in item.children" v-bind:key="subItem.text" :prepend-icon="subItem.icon" :to="subItem.href" ripple>
|
||||||
<v-list-item-avatar>
|
<v-list-item-avatar>
|
||||||
<v-icon>{{ subItem.icon }}</v-icon>
|
<v-icon>{{ subItem.icon }}</v-icon>
|
||||||
</v-list-item-avatar>
|
</v-list-item-avatar>
|
||||||
|
@ -393,7 +393,7 @@ Vue.component('qd-table',{template:`
|
||||||
<span>{{ entity }}</span>
|
<span>{{ entity }}</span>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
|
|
||||||
<v-data-table :headers="headers" :items="items" :search="search" v-model="selected" select-all class="elevation-1" :no-data-text="noDataMsg">
|
<v-data-table :headers="headers" :item="items" :search="search" v-model="selected" show-select class="elevation-1" :no-data-text="noDataMsg">
|
||||||
<template slot="items" slot-scope="props">
|
<template slot="items" slot-scope="props">
|
||||||
<td>
|
<td>
|
||||||
<v-checkbox primary hide-details v-model="props.selected"></v-checkbox>
|
<v-checkbox primary hide-details v-model="props.selected"></v-checkbox>
|
||||||
|
@ -474,7 +474,7 @@ Vue.component('qd-tablist',{template:`
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<v-list style="height: 300px; overflow-y: auto;">
|
<v-list style="height: 300px; overflow-y: auto;">
|
||||||
<v-list-item v-for="index in edittabs.sorted(q)" :key="index" avatar dense ripple @click="setItem(index)" :inactive="index == current">
|
<v-list-item v-for="index in edittabs.sorted(q)" :key="index" dense ripple @click="setItem(index)" :inactive="index == current">
|
||||||
<v-list-item-avatar :title="edittabs.items[index].contentType">
|
<v-list-item-avatar :title="edittabs.items[index].contentType">
|
||||||
<v-icon v-if="index == current">check_circle</v-icon>
|
<v-icon v-if="index == current">check_circle</v-icon>
|
||||||
<v-icon v-else>insert_drive_file</v-icon>
|
<v-icon v-else>insert_drive_file</v-icon>
|
||||||
|
@ -789,7 +789,7 @@ Vue.component('vp-paramform',{template:`
|
||||||
</v-layout>
|
</v-layout>
|
||||||
|
|
||||||
<v-layout align-center justify-center column fill-height xs1 amber lighten-5>
|
<v-layout align-center justify-center column fill-height xs1 amber lighten-5>
|
||||||
<v-btn @click="clear()">Clear</v-btn>
|
<v-btn @click="clear()" id="btn-clear">Clear</v-btn>
|
||||||
<v-btn @click="reset()">Reset</v-btn>
|
<v-btn @click="reset()">Reset</v-btn>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
|
@ -3146,7 +3146,7 @@ const Eval=Vue.extend({template:`
|
||||||
},
|
},
|
||||||
// execute imediatly
|
// execute imediatly
|
||||||
run(){
|
run(){
|
||||||
|
console.log("run:",this.xq);
|
||||||
this.showResult= true;
|
this.showResult= true;
|
||||||
this.start = performance.now();
|
this.start = performance.now();
|
||||||
HTTPNE.post("eval/execute",Qs.stringify({xq:this.xq}))
|
HTTPNE.post("eval/execute",Qs.stringify({xq:this.xq}))
|
||||||
|
@ -4378,7 +4378,7 @@ const Jobs=Vue.extend({template:`
|
||||||
<v-icon>{{ autorefresh?'refresh':'arrow_downward' }}</v-icon>
|
<v-icon>{{ autorefresh?'refresh':'arrow_downward' }}</v-icon>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-data-table :headers="headers" :items="items" :search="search" v-model="selected" select-all class="elevation-1" no-data-text="No Jobs currently running">
|
<v-data-table :headers="headers" :items="items" :search="search" v-model="selected" show-select class="elevation-1" no-data-text="No Jobs currently running">
|
||||||
<template slot="items" slot-scope="props">
|
<template slot="items" slot-scope="props">
|
||||||
<td class="vtop">
|
<td class="vtop">
|
||||||
<v-checkbox primary hide-details v-model="props.selected"></v-checkbox>
|
<v-checkbox primary hide-details v-model="props.selected"></v-checkbox>
|
||||||
|
@ -4470,7 +4470,7 @@ const Services=Vue.extend({template:`
|
||||||
<v-icon>{{ autorefresh?'refresh':'arrow_downward' }}</v-icon>
|
<v-icon>{{ autorefresh?'refresh':'arrow_downward' }}</v-icon>
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-data-table :headers="headers" :items="items" :search="search" v-model="selected" select-all class="elevation-1" no-data-text="No Jobs currently running">
|
<v-data-table :headers="headers" :items="items" :search="search" v-model="selected" show-select class="elevation-1" no-data-text="No Jobs currently running">
|
||||||
<template slot="items" slot-scope="props">
|
<template slot="items" slot-scope="props">
|
||||||
<td class="vtop">
|
<td class="vtop">
|
||||||
<v-checkbox primary hide-details v-model="props.selected"></v-checkbox>
|
<v-checkbox primary hide-details v-model="props.selected"></v-checkbox>
|
||||||
|
@ -4674,40 +4674,48 @@ const Leaflet=Vue.extend({template:`
|
||||||
|
|
||||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/documentation.vue
|
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/documentation.vue
|
||||||
const Documentation=Vue.extend({template:`
|
const Documentation=Vue.extend({template:`
|
||||||
<v-container fluid>
|
<v-container fluid grid-list-md>
|
||||||
<v-toolbar dense>
|
<v-data-iterator :items="items" :items-per-page.sync="itemsPerPage" :search="search" hide-default-footer>
|
||||||
<v-toolbar-title>documentation</v-toolbar-title>
|
|
||||||
<v-spacer></v-spacer>
|
|
||||||
<v-btn icon :loading="loading" @click="get()" :disabled="loading">
|
|
||||||
<v-icon>refresh</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<a href="/vue-poc/api/xqdocjob" target="doc">json</a>
|
|
||||||
</v-toolbar>
|
|
||||||
|
|
||||||
<v-container fluid grid-list-md>
|
<template v-slot:header>
|
||||||
<v-layout row wrap>
|
<v-toolbar dark color="blue darken-3" class="mb-1">
|
||||||
<v-flex height="80px" xs2 v-for="item in items" :key="item.id">
|
<v-toolbar-title>XQDocs</v-toolbar-title>
|
||||||
<v-card :hover="true">
|
<v-spacer></v-spacer>
|
||||||
<v-toolbar color="blue lighten-3" dense>
|
<v-text-field v-model="search" clearable flat solo-inverted hide-details prepend-inner-icon="search" label="Search"></v-text-field>
|
||||||
<v-card-title>{{ item.name }}</v-card-title>
|
<v-spacer></v-spacer>
|
||||||
</v-toolbar>
|
<v-btn @click="get" icon :loading="loading" :disabled="loading"><v-icon>refresh</v-icon></v-btn>
|
||||||
<v-card-text>{{ item.id }}</v-card-text>
|
</v-toolbar>
|
||||||
<v-card-text>{{ item.created | formatDate }}</v-card-text>
|
</template>
|
||||||
<v-card-actions>
|
|
||||||
<a :href="item.href" target="_new">go</a>
|
<template v-slot:default="props">
|
||||||
</v-card-actions>
|
<v-layout wrap>
|
||||||
|
<v-flex v-for="item in props.items" :key="item.name" xs12 sm6 md4 lg3>
|
||||||
|
<v-card :hover="true">
|
||||||
|
<v-toolbar color="blue lighten-3" dense>
|
||||||
|
<v-card-title>{{ item.name }}</v-card-title>
|
||||||
|
</v-toolbar>
|
||||||
|
<v-card-text>{{ item.id }}</v-card-text>
|
||||||
|
<v-card-text>{{ item.created | formatDate }}</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
|
<a :href="item.href" target="_new">go</a>
|
||||||
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-flex>
|
|
||||||
|
</v-flex>
|
||||||
</v-layout>
|
</v-layout>
|
||||||
</v-container>
|
</template>
|
||||||
|
|
||||||
</v-container>
|
</v-data-iterator>
|
||||||
|
</v-container>
|
||||||
`,
|
`,
|
||||||
|
|
||||||
data: function(){
|
data: function(){
|
||||||
return {
|
return {
|
||||||
message: 'Hello Vue.js!',
|
itemsPerPage: 100,
|
||||||
|
page: 1,
|
||||||
items:[],
|
items:[],
|
||||||
|
search: '',
|
||||||
|
filter: {},
|
||||||
loading: false
|
loading: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -4735,63 +4743,69 @@ const Documentation=Vue.extend({template:`
|
||||||
|
|
||||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/entity.vue
|
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/model/entity.vue
|
||||||
const Entity=Vue.extend({template:`
|
const Entity=Vue.extend({template:`
|
||||||
<v-card>
|
<v-container fluid grid-list-md>
|
||||||
<v-toolbar>
|
|
||||||
<v-toolbar-title>
|
|
||||||
<v-breadcrumbs :items="[{text:'Entities',to:'/entity'}]">
|
|
||||||
<template slot="item" slot-scope="props">
|
|
||||||
<v-breadcrumbs-item :to="props.item.to" :disabled="props.item.disabled" :exact="true">
|
|
||||||
{{ props.item.text }}
|
|
||||||
</v-breadcrumbs-item>
|
|
||||||
</template>
|
|
||||||
</v-breadcrumbs>
|
|
||||||
</v-toolbar-title>
|
|
||||||
|
|
||||||
<v-text-field prepend-icon="filter_list" label="Filter..." v-model="q" type="search" hide-details single-line @keyup.enter="setfilter" clearable></v-text-field>
|
|
||||||
<v-spacer></v-spacer>
|
|
||||||
<v-btn @click="getItems" icon :loading="loading" :disabled="loading"><v-icon>refresh</v-icon></v-btn>
|
|
||||||
<vp-entitylink entity="entity"></vp-entitylink>
|
|
||||||
</v-toolbar>
|
|
||||||
|
|
||||||
<v-container fluid grid-list-md>
|
|
||||||
|
|
||||||
<v-data-iterator content-tag="v-layout" row wrap :loading="loading" :items="items" :search="q" :rows-per-page-items="rowsPerPageItems" :pagination.sync="pagination" select-all :value="selected">
|
<v-data-iterator :items="items" :items-per-page.sync="itemsPerPage" :search="q" hide-default-footer select-all :value="selected">
|
||||||
<v-flex slot="item" slot-scope="props" xs12 sm6 md4 lg3>
|
|
||||||
|
<template v-slot:header>
|
||||||
|
<v-toolbar>
|
||||||
|
<v-toolbar-title>
|
||||||
|
<v-breadcrumbs :items="[{text:'Entities',to:'/entity'}]">
|
||||||
|
<template slot="item" slot-scope="props">
|
||||||
|
<v-breadcrumbs-item :to="props.item.to" :disabled="props.item.disabled" :exact="true">
|
||||||
|
{{ props.item.text }}
|
||||||
|
</v-breadcrumbs-item>
|
||||||
|
</template>
|
||||||
|
</v-breadcrumbs>
|
||||||
|
</v-toolbar-title>
|
||||||
|
|
||||||
|
<v-text-field prepend-icon="filter_list" label="Filter..." v-model="q" type="search" hide-details single-line @keyup.enter="setfilter" clearable></v-text-field>
|
||||||
|
<v-spacer></v-spacer>
|
||||||
|
<v-btn @click="getItems" icon :loading="loading" :disabled="loading"><v-icon>refresh</v-icon></v-btn>
|
||||||
|
<vp-entitylink entity="entity"></vp-entitylink>
|
||||||
|
</v-toolbar>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template v-slot:default="props">
|
||||||
|
<v-layout wrap>
|
||||||
|
<v-flex v-for="item in props.items" :key="item.name" xs12 sm6 md4 lg3>
|
||||||
|
|
||||||
<v-card :hover="true" active-class="default-class qd-active" height="200px" max-height="200px">
|
<v-card :hover="true" active-class="default-class qd-active" height="200px" max-height="200px">
|
||||||
|
|
||||||
<v-toolbar color="blue lighten-3" dense>
|
<v-toolbar color="blue lighten-3" dense>
|
||||||
<v-toolbar-title>
|
<v-toolbar-title>
|
||||||
<router-link :to="{path:'entity/'+ props.item.name}">
|
<router-link :to="{path:'entity/'+ item.name}">
|
||||||
|
|
||||||
<v-icon>{{ props.item.iconclass }}</v-icon> {{ props.item.name }}
|
<v-icon>{{ item.iconclass }}</v-icon> {{ item.name }}
|
||||||
|
|
||||||
</router-link></v-toolbar-title>
|
</router-link></v-toolbar-title>
|
||||||
|
|
||||||
</v-toolbar>
|
</v-toolbar>
|
||||||
<v-card-text>{{ props.item.description }}<!--<v-card-text-->
|
<v-card-text>{{ item.description }}<!--<v-card-text-->
|
||||||
<v-card-actions green>
|
<v-card-actions green>
|
||||||
Fields
|
Fields
|
||||||
<v-badge>
|
<v-badge>
|
||||||
<span slot="badge">{{ props.item.nfields }}</span>
|
<span slot="badge">{{ item.nfields }}</span>
|
||||||
Fields
|
Fields
|
||||||
</v-badge>
|
</v-badge>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card-text></v-card>
|
</v-card-text></v-card>
|
||||||
</v-flex>
|
</v-flex>
|
||||||
|
</v-layout>
|
||||||
|
</template>
|
||||||
</v-data-iterator>
|
</v-data-iterator>
|
||||||
</v-container>
|
</v-container>
|
||||||
</v-card>
|
|
||||||
`,
|
`,
|
||||||
|
|
||||||
data: function(){
|
data: function(){
|
||||||
return {
|
return {
|
||||||
q: '',
|
itemsPerPage: 100,
|
||||||
items: [],
|
page: 1,
|
||||||
|
items:[],
|
||||||
|
search: '',
|
||||||
|
filter: {},
|
||||||
loading: false,
|
loading: false,
|
||||||
rowsPerPageItems: [4, 8, 20],
|
q: '',
|
||||||
pagination: {
|
|
||||||
rowsPerPage: 20
|
|
||||||
},
|
|
||||||
selected:[]
|
selected:[]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -7467,7 +7481,7 @@ const Vuepoc=Vue.extend({template:`
|
||||||
<v-navigation-drawer app :mini-variant.sync="mini" v-model="drawer" :enable-resize-watcher="true">
|
<v-navigation-drawer app :mini-variant.sync="mini" v-model="drawer" :enable-resize-watcher="true">
|
||||||
<v-list class="pa-0">
|
<v-list class="pa-0">
|
||||||
|
|
||||||
<v-list-item avatar tag="div">
|
<v-list-item tag="div">
|
||||||
<v-list-item-avatar>
|
<v-list-item-avatar>
|
||||||
<v-btn icon @click="session">
|
<v-btn icon @click="session">
|
||||||
<v-avatar size="36">
|
<v-avatar size="36">
|
||||||
|
@ -7509,7 +7523,7 @@ const Vuepoc=Vue.extend({template:`
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</template>
|
</template>
|
||||||
<v-list>
|
<v-list>
|
||||||
<v-list-item to="/session" avatar ripple>
|
<v-list-item to="/session" ripple>
|
||||||
<v-list-item-title>Session</v-list-item-title>
|
<v-list-item-title>Session</v-list-item-title>
|
||||||
</v-list-item>
|
</v-list-item>
|
||||||
<v-list-item @click="logout()">
|
<v-list-item @click="logout()">
|
||||||
|
|
|
@ -10,11 +10,11 @@
|
||||||
<link rel="shortcut icon" href="/vue-poc/ui/icon.png"/>
|
<link rel="shortcut icon" href="/vue-poc/ui/icon.png"/>
|
||||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"/>
|
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"/>
|
||||||
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons"/>
|
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons"/>
|
||||||
<link rel="stylesheet" href="//unpkg.com/vuetify@2.0.2/dist/vuetify.min.css" type="text/css"/>
|
<link rel="stylesheet" href="//unpkg.com/vuetify@2.0.4/dist/vuetify.min.css" type="text/css"/>
|
||||||
<link rel="stylesheet" href="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.css"/>
|
<link rel="stylesheet" href="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.css"/>
|
||||||
<link rel="stylesheet" href="/vue-poc/ui/prism/prism.css" rel="stylesheet" type="text/css"/>
|
<link rel="stylesheet" href="/vue-poc/ui/prism/prism.css" rel="stylesheet" type="text/css"/>
|
||||||
<link rel="stylesheet" href="//unpkg.com/leaflet@1.0.3/dist/leaflet.css"/>
|
<link rel="stylesheet" href="//unpkg.com/leaflet@1.0.3/dist/leaflet.css"/>
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.24.1/dist/main.css" />
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.27.1/dist/main.css" />
|
||||||
<link href="/vue-poc/ui/app.css" rel="stylesheet" type="text/css"/>
|
<link href="/vue-poc/ui/app.css" rel="stylesheet" type="text/css"/>
|
||||||
<link href="/vue-poc/ui/svg/d3-svg.css" rel="stylesheet" type="text/css"/>
|
<link href="/vue-poc/ui/svg/d3-svg.css" rel="stylesheet" type="text/css"/>
|
||||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.css" />
|
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/vis/4.20.1/vis-timeline-graph2d.min.css" />
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.18.1/axios.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.18.1/axios.js" crossorigin="anonymous"></script>
|
||||||
<script src="//unpkg.com/vuex@3.1.0/dist/vuex.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vuex@3.1.0/dist/vuex.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js" crossorigin="anonymous" ></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js" crossorigin="anonymous" ></script>
|
||||||
<script src="//unpkg.com/vuetify@2.0.2/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vuetify@2.0.4/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.5/ace.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.5/ace.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.5/ext-language_tools.js" crossorigin="anonymous"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.5/ext-language_tools.js" crossorigin="anonymous"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.5/ext-linking.js" crossorigin="anonymous" charset="utf-8"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.5/ext-linking.js" crossorigin="anonymous" charset="utf-8"></script>
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
<script src="//unpkg.com/leaflet@1.0.3/dist/leaflet.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/leaflet@1.0.3/dist/leaflet.js" crossorigin="anonymous"></script>
|
||||||
<script src="//unpkg.com/vue2-leaflet@1.0.2/dist/vue2-leaflet.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vue2-leaflet@1.0.2/dist/vue2-leaflet.js" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.24.1/dist/main.js" crossorigin="anonymous"></script>
|
<script src="//cdn.jsdelivr.net/npm/@koumoul/vuetify-jsonschema-form@0.27.1/dist/main.js" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script src="//unpkg.com/vue-native-websocket@2.0.8/dist/build.js" crossorigin="anonymous"></script>
|
<script src="//unpkg.com/vue-native-websocket@2.0.8/dist/build.js" crossorigin="anonymous"></script>
|
||||||
<script src="/vue-poc/ui/svg/d3-svg.js"></script>
|
<script src="/vue-poc/ui/svg/d3-svg.js"></script>
|
||||||
|
|
1
tests/cypress/.gitignore
vendored
Normal file
1
tests/cypress/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/node_modules/
|
6
tests/cypress/cypress.json
Normal file
6
tests/cypress/cypress.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"baseUrl": "http://localhost:8984/vue-poc",
|
||||||
|
"viewportWidth": 1600,
|
||||||
|
"viewportHeight": 800
|
||||||
|
}
|
||||||
|
|
1
tests/cypress/cypress/.gitignore
vendored
Normal file
1
tests/cypress/cypress/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/screenshots/
|
5
tests/cypress/cypress/fixtures/example.json
Normal file
5
tests/cypress/cypress/fixtures/example.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"name": "Using fixtures to represent data",
|
||||||
|
"email": "hello@cypress.io",
|
||||||
|
"body": "Fixtures are a great way to mock data for responses to routes"
|
||||||
|
}
|
42
tests/cypress/cypress/integration/apb_spec.js
Normal file
42
tests/cypress/cypress/integration/apb_spec.js
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
/**
|
||||||
|
* @author andy bunce
|
||||||
|
* @description Cypress vue-poc
|
||||||
|
*/
|
||||||
|
|
||||||
|
//This is where your test suite starts
|
||||||
|
|
||||||
|
describe('My First Test', function () {
|
||||||
|
|
||||||
|
//This function will execute before each test (i.e it())
|
||||||
|
|
||||||
|
beforeEach(function () {
|
||||||
|
cy.log('I run before every test in every spec file!!!!!!')
|
||||||
|
})
|
||||||
|
|
||||||
|
//Here you actually writes your test (it() is similar to @Test annotaion of TestNG)
|
||||||
|
|
||||||
|
it('home', function () {
|
||||||
|
|
||||||
|
//Click on type button
|
||||||
|
cy.visit('/ui')
|
||||||
|
cy.screenshot()
|
||||||
|
|
||||||
|
}),
|
||||||
|
|
||||||
|
it('about', function () {
|
||||||
|
|
||||||
|
//Click on type button
|
||||||
|
cy.visit('/ui/about')
|
||||||
|
cy.screenshot()
|
||||||
|
|
||||||
|
}),
|
||||||
|
|
||||||
|
it('documentation', function () {
|
||||||
|
|
||||||
|
//Click on type button
|
||||||
|
cy.visit('/ui/documentation')
|
||||||
|
cy.screenshot()
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
27
tests/cypress/cypress/integration/validate.js
Normal file
27
tests/cypress/cypress/integration/validate.js
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
/**
|
||||||
|
* @author andy bunce
|
||||||
|
* @description Cypress vue-poc
|
||||||
|
*/
|
||||||
|
|
||||||
|
//This is where your test suite starts
|
||||||
|
|
||||||
|
describe('validate tests', function () {
|
||||||
|
|
||||||
|
//This function will execute before each test (i.e it())
|
||||||
|
|
||||||
|
beforeEach(function () {
|
||||||
|
cy.log('I run before every test in every spec file!!!!!!')
|
||||||
|
})
|
||||||
|
|
||||||
|
//Here you actually writes your test (it() is similar to @Test annotaion of TestNG)
|
||||||
|
|
||||||
|
it('validate', function () {
|
||||||
|
|
||||||
|
//Click on type button
|
||||||
|
cy.visit('/ui/validate')
|
||||||
|
cy.screenshot("validate/validate")
|
||||||
|
cy.get("#btn-clear").click()
|
||||||
|
cy.screenshot("validate/clear")
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
17
tests/cypress/cypress/plugins/index.js
Normal file
17
tests/cypress/cypress/plugins/index.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// ***********************************************************
|
||||||
|
// This example plugins/index.js can be used to load plugins
|
||||||
|
//
|
||||||
|
// You can change the location of this file or turn off loading
|
||||||
|
// the plugins file with the 'pluginsFile' configuration option.
|
||||||
|
//
|
||||||
|
// You can read more here:
|
||||||
|
// https://on.cypress.io/plugins-guide
|
||||||
|
// ***********************************************************
|
||||||
|
|
||||||
|
// This function is called when a project is opened or re-opened (e.g. due to
|
||||||
|
// the project's config changing)
|
||||||
|
|
||||||
|
module.exports = (on, config) => {
|
||||||
|
// `on` is used to hook into various events Cypress emits
|
||||||
|
// `config` is the resolved Cypress config
|
||||||
|
}
|
25
tests/cypress/cypress/support/commands.js
Normal file
25
tests/cypress/cypress/support/commands.js
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
// ***********************************************
|
||||||
|
// This example commands.js shows you how to
|
||||||
|
// create various custom commands and overwrite
|
||||||
|
// existing commands.
|
||||||
|
//
|
||||||
|
// For more comprehensive examples of custom
|
||||||
|
// commands please read more here:
|
||||||
|
// https://on.cypress.io/custom-commands
|
||||||
|
// ***********************************************
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a parent command --
|
||||||
|
// Cypress.Commands.add("login", (email, password) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a child command --
|
||||||
|
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is a dual command --
|
||||||
|
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// -- This is will overwrite an existing command --
|
||||||
|
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
|
20
tests/cypress/cypress/support/index.js
Normal file
20
tests/cypress/cypress/support/index.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// ***********************************************************
|
||||||
|
// This example support/index.js is processed and
|
||||||
|
// loaded automatically before your test files.
|
||||||
|
//
|
||||||
|
// This is a great place to put global configuration and
|
||||||
|
// behavior that modifies Cypress.
|
||||||
|
//
|
||||||
|
// You can change the location of this file or turn off
|
||||||
|
// automatically serving support files with the
|
||||||
|
// 'supportFile' configuration option.
|
||||||
|
//
|
||||||
|
// You can read more here:
|
||||||
|
// https://on.cypress.io/configuration
|
||||||
|
// ***********************************************************
|
||||||
|
|
||||||
|
// Import commands.js using ES2015 syntax:
|
||||||
|
import './commands'
|
||||||
|
|
||||||
|
// Alternatively you can use CommonJS syntax:
|
||||||
|
// require('./commands')
|
1578
tests/cypress/package-lock.json
generated
Normal file
1578
tests/cypress/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
14
tests/cypress/package.json
Normal file
14
tests/cypress/package.json
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"name": "vue-poc",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "vue-poc e2e tests",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"devDependencies": {
|
||||||
|
"cypress": "^3.4.1"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue