1+ var hasClass = function ( element , cls ) {
2+ return element . getAttribute ( 'class' ) . then ( function ( classes ) {
3+ return classes . split ( ' ' ) . indexOf ( cls ) !== - 1 ;
4+ } ) ;
5+ } ;
6+
7+ describe ( 'Devlog' , function ( ) {
8+ var log1 = {
9+ 'title' : 'e2e test' ,
10+ 'tags' : 'e2e' ,
11+ 'content' : 'e2e test content'
12+ } ;
13+
14+ var log2 = {
15+ 'title' : 'e2e test 2' ,
16+ 'tags' : 'e2e,test' ,
17+ 'content' : 'e2e test content 2'
18+ } ;
19+
20+ it ( 'should add log1' , function ( ) {
21+ element ( by . css ( '.add' ) ) . click ( ) ;
22+ element ( by . css ( 'input.title' ) ) . sendKeys ( log1 . title ) ;
23+ element ( by . css ( 'input.tags' ) ) . sendKeys ( log1 . tags ) ;
24+ element ( by . css ( 'textarea.content' ) ) . sendKeys ( log1 . content ) ;
25+
26+ var logs = element . all ( by . repeater ( 'log in logs' ) ) ;
27+ expect ( logs . count ( ) ) . toEqual ( 1 ) ;
28+ } ) ;
29+
30+ it ( 'should add log2' , function ( ) {
31+ element ( by . css ( '.add' ) ) . click ( ) ;
32+ element ( by . css ( 'input.title' ) ) . sendKeys ( log2 . title ) ;
33+ element ( by . css ( 'input.tags' ) ) . sendKeys ( log2 . tags ) ;
34+ element ( by . css ( 'textarea.content' ) ) . sendKeys ( log2 . content ) ;
35+
36+ var logs = element . all ( by . repeater ( 'log in logs' ) ) ;
37+ expect ( logs . count ( ) ) . toEqual ( 2 ) ;
38+ } ) ;
39+
40+ it ( 'should get all logs in test tag' , function ( ) {
41+ element . all ( by . css ( '.tags-nav' ) ) . get ( 2 ) . click ( ) ;
42+
43+ var logs = element . all ( by . repeater ( 'log in logs' ) ) ;
44+ expect ( logs . count ( ) ) . toEqual ( 1 ) ;
45+ expect ( element ( by . css ( 'input.title' ) ) . getAttribute ( 'value' ) ) . toEqual ( log2 . title ) ;
46+ expect ( element ( by . css ( 'input.tags' ) ) . getAttribute ( 'value' ) ) . toEqual ( log2 . tags ) ;
47+ expect ( element ( by . css ( 'textarea.content' ) ) . getAttribute ( 'value' ) ) . toEqual ( log2 . content ) ;
48+ } ) ;
49+
50+ it ( 'should remove log2' , function ( ) {
51+ element ( by . css ( '.trash' ) ) . click ( ) ;
52+
53+ browser . sleep ( 100 ) ;
54+ var allTag = element . all ( by . css ( '.tags-nav' ) ) . get ( 0 ) ;
55+ expect ( hasClass ( allTag , 'active' ) ) . toBe ( true ) ;
56+ } ) ;
57+
58+ it ( 'should remove all logs' , function ( ) {
59+ element . all ( by . css ( '.tags-nav' ) ) . get ( 0 ) . click ( ) ;
60+
61+ element . all ( by . css ( '.trash' ) ) . then ( function ( items ) {
62+ for ( var i = 0 ; i < items . length ; i ++ ) {
63+ element . all ( by . css ( '.trash' ) ) . get ( 0 ) . click ( ) ;
64+ browser . sleep ( 200 ) ;
65+ }
66+ } ) ;
67+
68+ var logs = element . all ( by . repeater ( 'log in logs' ) ) ;
69+ expect ( logs . count ( ) ) . toEqual ( 0 ) ;
70+ } ) ;
71+ } ) ;
0 commit comments