Skip to content

Commit a49f673

Browse files
committed
feat: page object applied to Homepage
1 parent 7b1212c commit a49f673

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export const ELEMENTS = {
2+
input: "input#repository__input",
3+
submitButton: "button#btn__add",
4+
clearButton: "button#btn__clear_all",
5+
unorderedList: "ul#repo__list",
6+
listItems: "ul#repo__list li",
7+
listItemRemoveButton: `[name="btn__remove"]`
8+
};
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import { ELEMENTS } from "./elements.components";
2+
3+
class Home {
4+
acessar() {
5+
return cy.visit("");
6+
}
7+
8+
inserir(repositorio = "cypress-io/cypress-example-recipes") {
9+
return cy.get(ELEMENTS.input).type(repositorio);
10+
}
11+
12+
clicarAdicionar() {
13+
return cy.get(ELEMENTS.submitButton).focus().click();
14+
}
15+
16+
clicarLimpar() {
17+
return cy.get(ELEMENTS.clearButton).click();
18+
}
19+
20+
selecionarLista() {
21+
return cy.get(ELEMENTS.unorderedList, { timeout: 3000 });
22+
}
23+
24+
selecionarItemsDaLista() {
25+
return cy.get(ELEMENTS.listItems, { timeout: 3000 });
26+
}
27+
28+
selecionarPrimeiroBotaoRemover() {
29+
return this.selecionarItemsDaLista().within(() => {
30+
return cy.get(`[name="btn__remove"]`).first()
31+
});
32+
}
33+
34+
removerPrimeiroItem() {
35+
return this.selecionarPrimeiroBotaoRemover().click();
36+
}
37+
38+
popularLista(waitFor = 200) {
39+
this.inserir("rust-lang/rust");
40+
this.clicarAdicionar();
41+
this.selecionarItemsDaLista().wait(waitFor);
42+
this.inserir("reactjs/reactjs.org");
43+
this.clicarAdicionar();
44+
this.selecionarItemsDaLista().wait(waitFor);
45+
this.inserir("thiagojacinto/es6-review");
46+
this.clicarAdicionar();
47+
this.selecionarItemsDaLista().wait(waitFor);
48+
}
49+
50+
limparLista() {
51+
return cy.get(ELEMENTS.clearButton).click();
52+
}
53+
54+
}
55+
56+
export default new Home();

0 commit comments

Comments
 (0)