add unit test for previous bug
This commit is contained in:
parent
1471ccad2c
commit
2003ff0e59
@ -53,6 +53,7 @@ INSERT INTO "planned_event" (name, planned_amount_cox, trip_details_id) VALUES('
|
|||||||
INSERT INTO "trip_details" (planned_starting_time, max_people, day, notes) VALUES('11:00', 1, date('now', '+1 day'), 'trip_details for trip from cox');
|
INSERT INTO "trip_details" (planned_starting_time, max_people, day, notes) VALUES('11:00', 1, date('now', '+1 day'), 'trip_details for trip from cox');
|
||||||
INSERT INTO "trip" (cox_id, trip_details_id) VALUES(4, 2);
|
INSERT INTO "trip" (cox_id, trip_details_id) VALUES(4, 2);
|
||||||
|
|
||||||
|
INSERT INTO "trip_details" (planned_starting_time, max_people, day, notes) VALUES('10:00', 2, date('now'), 'same trip_details as id=1');
|
||||||
INSERT INTO "trip_type" (name, desc, question, icon) VALUES ('Regatta', 'Regatta!', 'Kein normales Event. Das ist eine Regatta! Willst du wirklich teilnehmen?', '🏅');
|
INSERT INTO "trip_type" (name, desc, question, icon) VALUES ('Regatta', 'Regatta!', 'Kein normales Event. Das ist eine Regatta! Willst du wirklich teilnehmen?', '🏅');
|
||||||
INSERT INTO "trip_type" (name, desc, question, icon) VALUES ('Lange Ausfahrt', 'Lange Ausfahrt!', 'Das ist eine lange Ausfahrt! Willst du wirklich teilnehmen?', '💪');
|
INSERT INTO "trip_type" (name, desc, question, icon) VALUES ('Lange Ausfahrt', 'Lange Ausfahrt!', 'Das ist eine lange Ausfahrt! Willst du wirklich teilnehmen?', '💪');
|
||||||
INSERT INTO "trip_type" (name, desc, question, icon) VALUES ('Wanderfahrt', 'Wanderfahrt!', 'Kein normales Event. Das ist eine Wanderfahrt! Bitte überprüfe ob du alle Anforderungen erfüllst. Willst du wirklich teilnehmen?', '⛱');
|
INSERT INTO "trip_type" (name, desc, question, icon) VALUES ('Wanderfahrt', 'Wanderfahrt!', 'Kein normales Event. Das ist eine Wanderfahrt! Bitte überprüfe ob du alle Anforderungen erfüllst. Willst du wirklich teilnehmen?', '⛱');
|
||||||
|
@ -91,7 +91,6 @@ impl Trip {
|
|||||||
trip_details.planned_starting_time,
|
trip_details.planned_starting_time,
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
if same_starting_datetime.len() > 1 {
|
|
||||||
for notify in same_starting_datetime {
|
for notify in same_starting_datetime {
|
||||||
// don't notify oneself
|
// don't notify oneself
|
||||||
if notify.id == trip_details.id {
|
if notify.id == trip_details.id {
|
||||||
@ -120,7 +119,6 @@ impl Trip {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn find_by_trip_details(db: &SqlitePool, tripdetails_id: i64) -> Option<Self> {
|
pub async fn find_by_trip_details(db: &SqlitePool, tripdetails_id: i64) -> Option<Self> {
|
||||||
sqlx::query_as!(
|
sqlx::query_as!(
|
||||||
@ -486,6 +484,7 @@ mod test {
|
|||||||
use crate::{
|
use crate::{
|
||||||
model::{
|
model::{
|
||||||
event::Event,
|
event::Event,
|
||||||
|
notification::Notification,
|
||||||
trip::{self, TripDeleteError},
|
trip::{self, TripDeleteError},
|
||||||
tripdetails::TripDetails,
|
tripdetails::TripDetails,
|
||||||
user::{SteeringUser, User},
|
user::{SteeringUser, User},
|
||||||
@ -517,6 +516,34 @@ mod test {
|
|||||||
assert!(Trip::find_by_id(&pool, 1).await.is_some());
|
assert!(Trip::find_by_id(&pool, 1).await.is_some());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[sqlx::test]
|
||||||
|
fn test_notification_cox_if_same_datetime() {
|
||||||
|
let pool = testdb!();
|
||||||
|
let cox = SteeringUser::new(
|
||||||
|
&pool,
|
||||||
|
User::find_by_name(&pool, "cox".into()).await.unwrap(),
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
let trip_details = TripDetails::find_by_id(&pool, 1).await.unwrap();
|
||||||
|
Trip::new_own(&pool, &cox, trip_details).await;
|
||||||
|
|
||||||
|
let cox2 = SteeringUser::new(
|
||||||
|
&pool,
|
||||||
|
User::find_by_name(&pool, "cox2".into()).await.unwrap(),
|
||||||
|
)
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
let trip_details = TripDetails::find_by_id(&pool, 3).await.unwrap();
|
||||||
|
Trip::new_own(&pool, &cox2, trip_details).await;
|
||||||
|
|
||||||
|
let last_notification = &Notification::for_user(&pool, &cox).await[0];
|
||||||
|
|
||||||
|
assert!(last_notification
|
||||||
|
.message
|
||||||
|
.starts_with("cox2 hat eine Ausfahrt zur selben Zeit"));
|
||||||
|
}
|
||||||
|
|
||||||
#[sqlx::test]
|
#[sqlx::test]
|
||||||
fn test_get_day_cox_trip() {
|
fn test_get_day_cox_trip() {
|
||||||
let pool = testdb!();
|
let pool = testdb!();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user