mirror of
https://github.com/wassname/Open-Assistant.git
synced 2026-07-20 12:10:50 +08:00
Also disable the task inputs while the task is submitted and before the new task is ready in case the users network is slow or something.
58 lines
1.8 KiB
TypeScript
58 lines
1.8 KiB
TypeScript
import { faker } from "@faker-js/faker";
|
|
|
|
describe("handles random tasks", () => {
|
|
it("completes the current task on submit and on request shows a new task", () => {
|
|
cy.signInWithEmail("cypress@example.com");
|
|
cy.visit("/tasks/random");
|
|
|
|
// Check all create tasks.
|
|
cy.get('[data-cy="task"]').then((createTaskElement) => {
|
|
if (createTaskElement.find('[data-task-type="create-task"]').length) {
|
|
cy.get('[data-cy="task-id"]').then((taskIdElement) => {
|
|
const taskId = taskIdElement.text();
|
|
|
|
const reply = faker.lorem.sentence();
|
|
cy.log("reply", reply);
|
|
cy.get('[data-cy="reply"]').type(reply);
|
|
|
|
cy.get('[data-cy="submit"]').click();
|
|
|
|
cy.get('[data-cy="task-id]"').should((taskIdElement) => {
|
|
expect(taskIdElement.text()).not.to.eq(taskId);
|
|
});
|
|
});
|
|
}
|
|
|
|
// Check all Evaluate tasks.
|
|
if (createTaskElement.find('[data-task-type="evaluate-task"]').length) {
|
|
cy.get('[data-cy="task-id"]').then((taskIdElement) => {
|
|
const taskId = taskIdElement.text();
|
|
|
|
// Rank an item using the keyboard so that the submit button is enabled
|
|
cy.get('button[aria-roledescription="sortable"]')
|
|
.first()
|
|
.click()
|
|
.type("{enter}")
|
|
.wait(100)
|
|
.type("{downArrow}")
|
|
.wait(100)
|
|
.type("{enter}");
|
|
|
|
cy.get('[data-cy="submit"]').click();
|
|
|
|
cy.get('[data-cy="task-id"]').should((taskIdElement) => {
|
|
expect(taskIdElement.text()).not.to.eq(taskId);
|
|
});
|
|
});
|
|
}
|
|
|
|
if (createTaskElement.find('[data-task-type="label-task"]').length) {
|
|
}
|
|
|
|
// TODO(#623): Figure out how to fail the test if none of the checks above pass.
|
|
});
|
|
});
|
|
});
|
|
|
|
export {};
|