allow instand logbook add #648
@ -244,3 +244,49 @@ test("Cox can start and finish trip with cox steering only", async ({ page }, te
|
|||||||
await expect(page.locator('body')).toContainText('(cox2)');
|
await expect(page.locator('body')).toContainText('(cox2)');
|
||||||
await expect(page.locator('body')).toContainText('Ottensheim (25 km)');
|
await expect(page.locator('body')).toContainText('Ottensheim (25 km)');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("Kiosk can start and finish trip in one stop", async ({ page }, testInfo) => {
|
||||||
|
await page.goto("/log/kiosk/ekrv2019/Linz");
|
||||||
|
|
||||||
|
if (testInfo.project.name.includes("Mobile")) {
|
||||||
|
// No left boat selector on mobile views
|
||||||
|
await page.getByText('-- Wähle ein Boot aus ---').nth(1).click();
|
||||||
|
await page.getByRole("option", { name: "Joe" }).click();
|
||||||
|
} else {
|
||||||
|
await page.getByText('2x', { exact: true }).click();
|
||||||
|
await page.getByText("Joe", { exact: true }).click();
|
||||||
|
}
|
||||||
|
await page.getByPlaceholder("Ruderer auswählen").click();
|
||||||
|
await page.getByRole("option", { name: "rower2" }).click();
|
||||||
|
await page.getByRole("option", { name: "cox2" }).click();
|
||||||
|
await expect(page.getByRole("listbox")).toContainText(
|
||||||
|
"Nur 2 Ruderer können hinzugefügt werden",
|
||||||
|
);
|
||||||
|
|
||||||
|
// Trip starts 2 hours ago
|
||||||
|
const datetimeSelector = '#departure';
|
||||||
|
const currentValue = await page.$eval(datetimeSelector, el => el.value);
|
||||||
|
const currentDate = new Date(currentValue);
|
||||||
|
currentDate.setMinutes(currentDate.getMinutes());
|
||||||
|
currentDate.setHours(currentDate.getHours() - new Date().getTimezoneOffset()/60 - 2);
|
||||||
|
const newDatetime = currentDate.toISOString().slice(0, 16);
|
||||||
|
await page.$eval(datetimeSelector, (el, value) => el.value = value, newDatetime);
|
||||||
|
|
||||||
|
await page.getByLabel('Ankunftszeit').click();
|
||||||
|
await page.locator('#destination').fill('a');
|
||||||
|
await page.getByLabel('Distanz').fill('1');
|
||||||
|
|
||||||
|
await expect(page.locator("#shipmaster-newrowerjs")).toContainText("cox");
|
||||||
|
await expect(page.locator("#steering_person-newrowerjs")).toContainText(
|
||||||
|
"rower2 cox",
|
||||||
|
);
|
||||||
|
await page.getByRole("button", { name: "Ausfahrt eintragen" }).click();
|
||||||
|
await expect(page.locator("body")).toContainText(
|
||||||
|
"Ausfahrt erfolgreich hinzugefügt",
|
||||||
|
);
|
||||||
|
await page.getByRole('link', { name: 'Logbuch' }).click();
|
||||||
|
await expect(page.locator('body')).toContainText('Joe');
|
||||||
|
await expect(page.locator('body')).toContainText('(cox2)');
|
||||||
|
await expect(page.locator('body')).toContainText('a (1 km)');
|
||||||
|
await expect(page.locator('body')).toContainText('Ruderer: cox2, rower2');
|
||||||
|
});
|
||||||
|
@ -353,13 +353,12 @@ ORDER BY departure DESC
|
|||||||
let mut tx = db.begin().await.unwrap();
|
let mut tx = db.begin().await.unwrap();
|
||||||
|
|
||||||
let inserted_row = sqlx::query!(
|
let inserted_row = sqlx::query!(
|
||||||
"INSERT INTO logbook(boat_id, shipmaster, steering_person, shipmaster_only_steering, departure, arrival, destination, distance_in_km, comments, logtype) VALUES (?,?,?,?,?,?,?,?,?,?) RETURNING id",
|
"INSERT INTO logbook(boat_id, shipmaster, steering_person, shipmaster_only_steering, departure, destination, distance_in_km, comments, logtype) VALUES (?,?,?,?,?,?,?,?,?) RETURNING id",
|
||||||
log.boat_id,
|
log.boat_id,
|
||||||
log.shipmaster,
|
log.shipmaster,
|
||||||
log.steering_person,
|
log.steering_person,
|
||||||
log.shipmaster_only_steering,
|
log.shipmaster_only_steering,
|
||||||
log.departure,
|
log.departure,
|
||||||
log.arrival,
|
|
||||||
log.destination,
|
log.destination,
|
||||||
log.distance_in_km,
|
log.distance_in_km,
|
||||||
log.comments,
|
log.comments,
|
||||||
|
Loading…
Reference in New Issue
Block a user