mobile: fix tests

This commit is contained in:
Ammar Ahmed
2024-04-18 09:49:22 +05:00
parent 068ee8dc68
commit 76ff5eddd0
4 changed files with 64 additions and 51 deletions

View File

@@ -146,12 +146,16 @@ const ColorPicker = ({
onChangeText={(value) => {
title.current = value;
}}
testID="color-title-input"
defaultValue={title.current}
placeholder={title.current || "Color title"}
/>
<Button
title="Add color"
style={{
marginBottom: 10
}}
onPress={async () => {
if (!selectedColor)
return ToastManager.error(

View File

@@ -748,41 +748,45 @@ export const useActions = ({
}
async function copyContent() {
if (processingId.current === "copyContent") {
ToastManager.show({
heading: "Please wait...",
message: "We are preparing your note for copy to clipboard",
context: "local"
});
return;
}
if (!checkItemSynced()) return;
if (locked) {
close();
await sleep(300);
openVault({
copyNote: true,
novault: true,
locked: true,
item: item,
title: "Copy note",
description: "Unlock note to copy to clipboard."
});
} else {
processingId.current = "copyContent";
const text = await convertNoteToText(item as Note, true);
if (!text) {
ToastManager.error(new Error(Errors.export("text")));
try {
if (processingId.current === "copyContent") {
ToastManager.show({
heading: "Please wait...",
message: "We are preparing your note for copy to clipboard",
context: "local"
});
return;
}
Clipboard.setString(text);
processingId.current = undefined;
ToastManager.show({
heading: "Note copied to clipboard",
type: "success",
context: "local"
});
if (locked) {
close();
await sleep(300);
openVault({
copyNote: true,
novault: true,
locked: true,
item: item,
title: "Copy note",
description: "Unlock note to copy to clipboard."
});
} else {
processingId.current = "copyContent";
const text = await convertNoteToText(item as Note, true);
if (!text) {
ToastManager.error(new Error(Errors.export("text")));
return;
}
Clipboard.setString(text);
processingId.current = undefined;
ToastManager.show({
heading: "Note copied to clipboard",
type: "success",
context: "local"
});
}
} catch (e) {
console.error(e);
ToastManager.error(e as Error);
}
}

View File

@@ -28,7 +28,9 @@ import {
notVisibleById,
sleep,
exitEditor,
tapByText
tapByText,
elementByText,
elementById
} from "./utils";
describe("NOTE TESTS", () => {
@@ -40,15 +42,15 @@ describe("NOTE TESTS", () => {
it("Open and close a note", async () => {
await prepare();
await createNote();
await tapById(notesnook.ids.note.get(1));
await tapById(notesnook.ids.note.get(0));
await exitEditor();
});
it("Notes properties should show", async () => {
it.only("Notes properties should show", async () => {
await prepare();
let note = await createNote();
await tapById(notesnook.listitem.menu);
await visibleByText("Created at:");
await waitFor(elementByText("Created at:")).toBeVisible().withTimeout(500);
});
it("Favorite and unfavorite a note", async () => {
@@ -94,29 +96,27 @@ describe("NOTE TESTS", () => {
await prepare();
await createNote();
await tapById(notesnook.listitem.menu);
await sleep(1000);
await waitFor(elementById("icon-copy")).toBeVisible().withTimeout(500);
await tapById("icon-copy");
await visibleByText("Note copied to clipboard");
});
it("Export note dialog should show", async () => {
await prepare();
await createNote();
await tapById(notesnook.listitem.menu);
await tapById("icon-export");
await visibleByText("PDF");
});
it("Assign colors to a note", async () => {
await prepare();
let note = await createNote();
await tapById(notesnook.listitem.menu);
await tapById(notesnook.ids.dialogs.actionsheet.color("red"));
await sleep(1000);
await tapByText("Add color");
await sleep(500);
await elementById("color-title-input").typeText("Test color");
await tapByText("Add color");
await sleep(3000);
await visibleById("icon-check");
await tapById(notesnook.ids.dialogs.actionsheet.color("red"));
await tapById("icon-color-#efefef");
await notVisibleById("icon-check");
await tapById(notesnook.ids.dialogs.actionsheet.color("green"));
await tapById("icon-color-#efefef");
await device.pressBack();
await navigate("Green");
await navigate("Test color");
await visibleByText(note.body);
});
@@ -124,12 +124,15 @@ describe("NOTE TESTS", () => {
await prepare();
await createNote();
await tapById(notesnook.listitem.menu);
await sleep(500);
await tapById("icon-trash");
await navigate("Trash");
await sleep(500);
await tapById(notesnook.listitem.menu);
await sleep(500);
await tapByText("Restore note");
await device.pressBack();
await sleep(500);
await visibleByText(
"Test note description that is very long and should not fit in text."
);

View File

@@ -85,7 +85,9 @@ async function createNote(_title, _body) {
await webview.element(by.web.className("ProseMirror")).tap();
await webview.element(by.web.className("ProseMirror")).typeText(body, true);
await exitEditor();
await expect(element(by.text(body))).toBeVisible();
await waitFor(element(by.text(body)))
.toBeVisible()
.withTimeout(500);
return { title, body };
}