Skip to content

Commit aed13fe

Browse files
committed
Add initial e2e scenarios
1 parent 9ca64c7 commit aed13fe

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

test/e2e/scenarios.js

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
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

Comments
 (0)