forked from mystiq/hydrogen-web
Add data-event-id="$xxx"
attributes to timeline items for easy selecting in end-to-end tests (#690)
Split out from https://github.com/vector-im/hydrogen-web/pull/653
Example test assertions: db6d3797d7/test/e2e-tests.js (L248-L252)
```js
// Make sure the $abc event on the page has "foobarbaz" text in it
assert.match(
dom.document.querySelector(`[data-event-id="$abc"]`).outerHTML,
new RegExp(`.*foobarbaz.*`)
);
```
This commit is contained in:
parent
2e1283d199
commit
c09964dc30
2 changed files with 15 additions and 8 deletions
|
@ -44,6 +44,10 @@ export class SimpleTile extends ViewModel {
|
|||
return this._entry.asEventKey();
|
||||
}
|
||||
|
||||
get eventId() {
|
||||
return this._entry.id;
|
||||
}
|
||||
|
||||
get isPending() {
|
||||
return this._entry.isPending;
|
||||
}
|
||||
|
|
|
@ -40,14 +40,17 @@ export class BaseMessageView extends TemplateView {
|
|||
if (this._interactive) {
|
||||
children.push(t.button({className: "Timeline_messageOptions"}, "⋯"));
|
||||
}
|
||||
const li = t.el(this._tagName, {className: {
|
||||
const li = t.el(this._tagName, {
|
||||
className: {
|
||||
"Timeline_message": true,
|
||||
own: vm.isOwn,
|
||||
unsent: vm.isUnsent,
|
||||
unverified: vm.isUnverified,
|
||||
disabled: !this._interactive,
|
||||
continuation: vm => vm.isContinuation,
|
||||
}}, children);
|
||||
},
|
||||
'data-event-id': vm.eventId
|
||||
}, children);
|
||||
// given that there can be many tiles, we don't add
|
||||
// unneeded DOM nodes in case of a continuation, and we add it
|
||||
// with a side-effect binding to not have to create sub views,
|
||||
|
|
Loading…
Reference in a new issue