-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathevent.rb
More file actions
101 lines (84 loc) · 3.19 KB
/
event.rb
File metadata and controls
101 lines (84 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Quand('je me focalise sur {string}') do |title|
click_on_icon_next_to('focus', title)
end
Quand('je consulte le contenu de {string}') do |title|
click_on_icon_next_to('open', title)
end
Quand("j'essaie de créer un nouveau document") do
click_on_icon('gloses .create-document, .bookshelf .create-document')
end
Quand("j'essaie de remplacer les métadonnées de la glose par :") do |metadata|
click_on_text('metadata')
fill_element('textarea', metadata)
leave_textarea
end
Quand("j'attache le type {string}") do |type|
click_on_icon('typeIcon')
click_on_element('.typeBadge', type)
end
Quand("j'essaie de remplacer le contenu de la glose par :") do |markdown|
click_on_text('content')
fill_element('textarea', markdown)
leave_textarea
end
Quand("j'essaie de remplacer le contenu du premier passage de la glose par :") do |markdown|
click_on_text('content')
fill_element('textarea', markdown)
leave_textarea
end
Quand('je crée une collection à partir de ce document') do
click_on_icon('create-collection')
end
Quand("je clique sur la référence temporelle {string} avec pour commentaire {string}") do |timecode, comment|
find(:xpath, "//p[contains(., \"#{timecode}\")]", match: :first).click
end
Quand("j'essaie d'éditer le bloc {int} avec le texte") do |block_number, markdown|
find(".lectern>.row:nth-child(#{block_number + 1})>.scholium>.content>.formatted-text").click
fill_element('textarea', markdown)
leave_textarea
end
Quand("Christophe se connecte") do
sign_in('christophe', 'redqueen')
expect(find('.navbar')).to have_content 'christophe'
end
Quand("j'essaie de créer une référence au document") do
click_on_icon('sources .create-document')
end
Quand("j'essaye d'ajouter une image à une glose") do
attach_file("image-input", File.expand_path("./docs/architecture.png"), make_visible: true)
end
Quand("je survole le texte :") do |text|
element = find('p[title="Highlight in document"]', text: text.strip)
element.hover
end
Quand("je sélectionne le fragment de texte :") do |markdown|
# WARNING: Does work only with one given example!
page.execute_script("
let node = document.getElementsByClassName('lectern col')[0].getElementsByClassName('main col')[2].getElementsByTagName('p')[0].firstChild;
let range = document.createRange();
range.setStart(node, 18);
range.setEnd(node, 128);
let selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
node.dispatchEvent(new Event('mouseup', {bubbles: true}));
text = selection.toString();
")
expect(page.evaluate_script('text')).to eq(markdown)
click_button(class: 'create-fragment')
end
Quand("j'essaie d'éditer le document") do
click_on_icon('edit')
end
Quand("je cherche le type {string}") do |type|
click_on_icon('typeIcon')
fill_element('#searchType', type)
end
Quand("j'essaye de supprimer l'image {string} d'une glose") do |image_name|
image = find('img[alt="' + image_name + '"]')
delete_button = image.find(:xpath, 'following-sibling::button[contains(@class, "delete-image")]')
delete_button.click
popup = find('#confirmation-popup', visible: true)
yes_button = popup.find('button.confirm-yes')
yes_button.click
end