You've already forked AstralRinth
forked from didirus/AstralRinth
Adds ordering on loader fields enum (#755)
* now sorts on ordering, fmt clippy prepare * fixed tests * removed accidenetal printlns
This commit is contained in:
@@ -20,7 +20,7 @@ use super::{environment::TestEnvironment, request_data::get_public_project_creat
|
||||
|
||||
use super::{asserts::assert_status, database::USER_USER_ID, get_json_val_str};
|
||||
|
||||
pub const DUMMY_DATA_UPDATE: i64 = 3;
|
||||
pub const DUMMY_DATA_UPDATE: i64 = 5;
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub const DUMMY_CATEGORIES: &[&str] = &[
|
||||
|
||||
@@ -34,16 +34,22 @@ INSERT INTO loaders_project_types_games (loader_id, project_type_id, game_id) SE
|
||||
|
||||
-- Sample game versions, loaders, categories
|
||||
-- Game versions is '2'
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata)
|
||||
VALUES (2, '1.20.1', '{"type":"release","major":false}');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata)
|
||||
VALUES (2, '1.20.2', '{"type":"release","major":false}');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata)
|
||||
VALUES (2, '1.20.3', '{"type":"release","major":false}');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata)
|
||||
VALUES (2, '1.20.4', '{"type":"beta","major":false}');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata)
|
||||
VALUES (2, '1.20.5', '{"type":"release","major":true}');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, created)
|
||||
VALUES (2, '1.20.1', '{"type":"release","major":false}', '2021-08-18 15:48:58.435729+00');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, created)
|
||||
VALUES (2, '1.20.2', '{"type":"release","major":false}', '2021-08-18 15:48:59.435729+00');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, created)
|
||||
VALUES (2, '1.20.3', '{"type":"release","major":false}', '2021-08-18 15:49:00.435729+00');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, created)
|
||||
VALUES (2, '1.20.4', '{"type":"beta","major":false}', '2021-08-18 15:49:01.435729+00');
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, created)
|
||||
VALUES (2, '1.20.5', '{"type":"release","major":true}', '2061-08-18 15:49:02.435729+00');
|
||||
|
||||
-- Also add 'Ordering_Negative1' and 'Ordering_Positive100' to game versions (to test ordering override)
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, ordering)
|
||||
VALUES (2, 'Ordering_Negative1', '{"type":"release","major":false}', -1);
|
||||
INSERT INTO loader_field_enum_values(enum_id, value, metadata, ordering)
|
||||
VALUES (2, 'Ordering_Positive100', '{"type":"release","major":false}', 100);
|
||||
|
||||
INSERT INTO loader_fields_loaders(loader_id, loader_field_id)
|
||||
SELECT l.id, lf.id FROM loaders l CROSS JOIN loader_fields lf WHERE lf.field = 'game_versions' OR lf.field = 'client_side' OR lf.field = 'server_side';
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
use itertools::Itertools;
|
||||
|
||||
use crate::common::environment::TestEnvironment;
|
||||
use std::collections::HashSet;
|
||||
|
||||
@@ -13,17 +15,31 @@ async fn get_tags() {
|
||||
let side_types = api.get_side_types_deserialized().await;
|
||||
let categories = api.get_categories_deserialized().await;
|
||||
|
||||
// These tests match dummy data and will need to be updated if the dummy data changes;
|
||||
// These tests match dummy data and will need to be updated if the dummy data changes
|
||||
// Versions should be ordered by:
|
||||
// - ordering
|
||||
// - ordering ties settled by date added to database
|
||||
// - We also expect presentation of NEWEST to OLDEST
|
||||
// - All null orderings are treated as older than any non-null ordering
|
||||
// (for this test, the 1.20.1, etc, versions are all null ordering)
|
||||
let game_version_versions = game_versions
|
||||
.into_iter()
|
||||
.map(|x| x.version)
|
||||
.collect::<HashSet<_>>();
|
||||
.collect::<Vec<_>>();
|
||||
assert_eq!(
|
||||
game_version_versions,
|
||||
["1.20.1", "1.20.2", "1.20.3", "1.20.4", "1.20.5"]
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect()
|
||||
[
|
||||
"Ordering_Negative1",
|
||||
"Ordering_Positive100",
|
||||
"1.20.5",
|
||||
"1.20.4",
|
||||
"1.20.3",
|
||||
"1.20.2",
|
||||
"1.20.1"
|
||||
]
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect_vec()
|
||||
);
|
||||
|
||||
let loader_names = loaders.into_iter().map(|x| x.name).collect::<HashSet<_>>();
|
||||
|
||||
@@ -266,7 +266,7 @@ async fn test_patch_project_team_member() {
|
||||
let req = test::TestRequest::post()
|
||||
.uri(&format!("/v2/team/{alpha_team_id}/members"))
|
||||
.append_header(("Authorization", USER_USER_PAT))
|
||||
.set_json(&json!({
|
||||
.set_json(json!({
|
||||
"user_id": FRIEND_USER_ID,
|
||||
"permissions": (ProjectPermissions::EDIT_MEMBER | ProjectPermissions::EDIT_BODY).bits(),
|
||||
}))
|
||||
@@ -408,7 +408,7 @@ async fn test_patch_organization_team_member() {
|
||||
let req = test::TestRequest::post()
|
||||
.uri(&format!("/v2/team/{zeta_team_id}/members"))
|
||||
.append_header(("Authorization", USER_USER_PAT))
|
||||
.set_json(&json!({
|
||||
.set_json(json!({
|
||||
"user_id": FRIEND_USER_ID,
|
||||
"organization_permissions": (OrganizationPermissions::EDIT_MEMBER | OrganizationPermissions::EDIT_MEMBER_DEFAULT_PERMISSIONS).bits(),
|
||||
})).to_request();
|
||||
|
||||
Reference in New Issue
Block a user