create new tests for /cox/trip/<id>
This commit is contained in:
parent
1d4c5f356d
commit
3259582aab
@ -90,7 +90,7 @@ user_details
|
|||||||
- [x] (join) GET /join/<trip_details_id>
|
- [x] (join) GET /join/<trip_details_id>
|
||||||
- [x] (remove) GET /remove/<trip_details_id>
|
- [x] (remove) GET /remove/<trip_details_id>
|
||||||
- [x] (create) POST /cox/trip
|
- [x] (create) POST /cox/trip
|
||||||
- [ ] (update) POST /cox/trip/<trip_id>
|
- [x] (update) POST /cox/trip/<trip_id>
|
||||||
- [ ] (join) GET /cox/join/<planned_event_id>
|
- [ ] (join) GET /cox/join/<planned_event_id>
|
||||||
- [ ] (remove) GET /cox/remove/<planned_event_id>
|
- [ ] (remove) GET /cox/remove/<planned_event_id>
|
||||||
- [ ] (remove_trip) GET /cox/remove/trip/<trip_id>
|
- [ ] (remove_trip) GET /cox/remove/trip/<trip_id>
|
||||||
|
@ -16,9 +16,9 @@ pub struct Trip {
|
|||||||
cox_name: String,
|
cox_name: String,
|
||||||
trip_details_id: Option<i64>,
|
trip_details_id: Option<i64>,
|
||||||
planned_starting_time: String,
|
planned_starting_time: String,
|
||||||
max_people: i64,
|
pub max_people: i64,
|
||||||
day: String,
|
day: String,
|
||||||
notes: Option<String>,
|
pub notes: Option<String>,
|
||||||
pub allow_guests: bool,
|
pub allow_guests: bool,
|
||||||
trip_type_id: Option<i64>,
|
trip_type_id: Option<i64>,
|
||||||
}
|
}
|
||||||
|
114
src/tera/cox.rs
114
src/tera/cox.rs
@ -218,4 +218,118 @@ mod test {
|
|||||||
.len()
|
.len()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[sqlx::test]
|
||||||
|
fn test_trip_update_succ() {
|
||||||
|
let db = testdb!();
|
||||||
|
|
||||||
|
let trip = &Trip::get_for_day(&db, NaiveDate::from_ymd_opt(1970, 01, 02).unwrap()).await[0];
|
||||||
|
assert_eq!(1, trip.trip.max_people);
|
||||||
|
assert_eq!(
|
||||||
|
"trip_details for trip from cox",
|
||||||
|
&trip.trip.notes.clone().unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
|
let rocket = rocket::build().manage(db.clone());
|
||||||
|
let rocket = crate::tera::config(rocket);
|
||||||
|
|
||||||
|
let client = Client::tracked(rocket).await.unwrap();
|
||||||
|
let login = client
|
||||||
|
.post("/auth")
|
||||||
|
.header(ContentType::Form) // Set the content type to form
|
||||||
|
.body("name=cox&password=cox"); // Add the form data to the request body;
|
||||||
|
login.dispatch().await;
|
||||||
|
|
||||||
|
let req = client
|
||||||
|
.post("/cox/trip/1")
|
||||||
|
.header(ContentType::Form)
|
||||||
|
.body("notes=my-new-notes&max_people=12");
|
||||||
|
let response = req.dispatch().await;
|
||||||
|
|
||||||
|
assert_eq!(response.status(), Status::SeeOther);
|
||||||
|
assert_eq!(response.headers().get("Location").next(), Some("/"));
|
||||||
|
|
||||||
|
let flash_cookie = response
|
||||||
|
.cookies()
|
||||||
|
.get("_flash")
|
||||||
|
.expect("Expected flash cookie");
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
flash_cookie.value(),
|
||||||
|
"7:successAusfahrt erfolgreich aktualisiert."
|
||||||
|
);
|
||||||
|
|
||||||
|
let trip = &Trip::get_for_day(&db, NaiveDate::from_ymd_opt(1970, 01, 02).unwrap()).await[0];
|
||||||
|
assert_eq!(12, trip.trip.max_people);
|
||||||
|
assert_eq!("my-new-notes", &trip.trip.notes.clone().unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[sqlx::test]
|
||||||
|
fn test_trip_update_wrong_event() {
|
||||||
|
let db = testdb!();
|
||||||
|
|
||||||
|
let rocket = rocket::build().manage(db.clone());
|
||||||
|
let rocket = crate::tera::config(rocket);
|
||||||
|
|
||||||
|
let client = Client::tracked(rocket).await.unwrap();
|
||||||
|
let login = client
|
||||||
|
.post("/auth")
|
||||||
|
.header(ContentType::Form) // Set the content type to form
|
||||||
|
.body("name=cox&password=cox"); // Add the form data to the request body;
|
||||||
|
login.dispatch().await;
|
||||||
|
|
||||||
|
let req = client
|
||||||
|
.post("/cox/trip/9999")
|
||||||
|
.header(ContentType::Form)
|
||||||
|
.body("notes=my-new-notes&max_people=12");
|
||||||
|
let response = req.dispatch().await;
|
||||||
|
|
||||||
|
assert_eq!(response.status(), Status::SeeOther);
|
||||||
|
assert_eq!(response.headers().get("Location").next(), Some("/"));
|
||||||
|
|
||||||
|
let flash_cookie = response
|
||||||
|
.cookies()
|
||||||
|
.get("_flash")
|
||||||
|
.expect("Expected flash cookie");
|
||||||
|
|
||||||
|
assert_eq!(flash_cookie.value(), "5:errorAusfahrt gibt's nicht");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[sqlx::test]
|
||||||
|
fn test_trip_update_wrong_cox() {
|
||||||
|
let db = testdb!();
|
||||||
|
|
||||||
|
let trip = &Trip::get_for_day(&db, NaiveDate::from_ymd_opt(1970, 01, 02).unwrap()).await[0];
|
||||||
|
assert_eq!(1, trip.trip.max_people);
|
||||||
|
assert_eq!(
|
||||||
|
"trip_details for trip from cox",
|
||||||
|
&trip.trip.notes.clone().unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
|
let rocket = rocket::build().manage(db.clone());
|
||||||
|
let rocket = crate::tera::config(rocket);
|
||||||
|
|
||||||
|
let client = Client::tracked(rocket).await.unwrap();
|
||||||
|
let login = client
|
||||||
|
.post("/auth")
|
||||||
|
.header(ContentType::Form) // Set the content type to form
|
||||||
|
.body("name=cox2&password=cox"); // Add the form data to the request body;
|
||||||
|
login.dispatch().await;
|
||||||
|
|
||||||
|
let req = client
|
||||||
|
.post("/cox/trip/1")
|
||||||
|
.header(ContentType::Form)
|
||||||
|
.body("notes=my-new-notes&max_people=12");
|
||||||
|
let response = req.dispatch().await;
|
||||||
|
|
||||||
|
assert_eq!(response.status(), Status::SeeOther);
|
||||||
|
assert_eq!(response.headers().get("Location").next(), Some("/"));
|
||||||
|
|
||||||
|
let flash_cookie = response
|
||||||
|
.cookies()
|
||||||
|
.get("_flash")
|
||||||
|
.expect("Expected flash cookie");
|
||||||
|
|
||||||
|
assert_eq!(flash_cookie.value(), "5:errorNicht deine Ausfahrt!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user