Adds ordering on loader fields enum (#755)

* now sorts on ordering, fmt clippy prepare

* fixed tests

* removed accidenetal printlns
This commit is contained in:
Wyatt Verchere
2023-11-13 18:19:06 -08:00
committed by GitHub
parent ae1c5342f2
commit 375f992a0c
11 changed files with 56 additions and 32 deletions

View File

@@ -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] = &[

View File

@@ -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';

View File

@@ -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<_>>();

View File

@@ -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();