aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/commands/fund.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-11 02:36:42 +0900
committernsfisis <nsfisis@gmail.com>2026-05-11 02:36:42 +0900
commit4e99773a3d203e73b8bf6464490d05649a269fa7 (patch)
tree7a6f1a7f773a14ea72dc2f9ff4124badd345833d /crates/mozart/src/commands/fund.rs
parent4df5f8491320e5795718cf0222e80fa27e57c8ad (diff)
downloadphp-mozart-4e99773a3d203e73b8bf6464490d05649a269fa7.tar.gz
php-mozart-4e99773a3d203e73b8bf6464490d05649a269fa7.tar.zst
php-mozart-4e99773a3d203e73b8bf6464490d05649a269fa7.zip
test(commands): remove per-command tests
Diffstat (limited to 'crates/mozart/src/commands/fund.rs')
-rw-r--r--crates/mozart/src/commands/fund.rs150
1 files changed, 0 insertions, 150 deletions
diff --git a/crates/mozart/src/commands/fund.rs b/crates/mozart/src/commands/fund.rs
index 677137c..63164c3 100644
--- a/crates/mozart/src/commands/fund.rs
+++ b/crates/mozart/src/commands/fund.rs
@@ -202,153 +202,3 @@ fn render_json(
console_writeln!(io, "{}", &String::from_utf8(ser.into_inner())?);
Ok(())
}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use mozart_core::console::Console;
-
- fn make_funding_json(entries: &[(&str, &str)]) -> Vec<serde_json::Value> {
- entries
- .iter()
- .map(|(t, u)| serde_json::json!({"type": t, "url": u}))
- .collect()
- }
-
- #[test]
- fn insert_funding_data_basic() {
- let mut fundings = BTreeMap::new();
- let funding = make_funding_json(&[("github", "https://github.com/Seldaek")]);
- insert_funding_data(&mut fundings, "monolog/monolog", &funding);
-
- let monolog = fundings.get("monolog").unwrap();
- let url = "https://github.com/sponsors/Seldaek";
- let packages = monolog.get(url).unwrap();
- assert_eq!(packages, &vec!["monolog".to_string()]);
- }
-
- #[test]
- fn insert_funding_data_skips_empty_url() {
- let mut fundings = BTreeMap::new();
- let funding = vec![
- serde_json::json!({"type": "github", "url": ""}),
- serde_json::json!({"type": "tidelift"}),
- serde_json::json!({"type": "github", "url": "https://github.com/user"}),
- ];
- insert_funding_data(&mut fundings, "vendor/pkg", &funding);
-
- let vendor = fundings.get("vendor").unwrap();
- assert_eq!(vendor.len(), 1);
- assert!(vendor.contains_key("https://github.com/sponsors/user"));
- }
-
- #[test]
- fn insert_funding_data_skips_malformed_pretty_name() {
- let mut fundings = BTreeMap::new();
- let funding = make_funding_json(&[("github", "https://github.com/user")]);
- insert_funding_data(&mut fundings, "no-slash-name", &funding);
- assert!(fundings.is_empty());
- }
-
- #[test]
- fn insert_funding_data_groups_by_vendor() {
- let mut fundings = BTreeMap::new();
- let funding = make_funding_json(&[("github", "https://github.com/fabpot")]);
- insert_funding_data(&mut fundings, "symfony/console", &funding);
- insert_funding_data(&mut fundings, "symfony/http-kernel", &funding);
-
- let symfony = fundings.get("symfony").unwrap();
- let url = "https://github.com/sponsors/fabpot";
- let packages = symfony.get(url).unwrap();
- assert_eq!(packages.len(), 2);
- assert!(packages.contains(&"console".to_string()));
- assert!(packages.contains(&"http-kernel".to_string()));
- }
-
- #[test]
- fn insert_funding_data_multiple_urls() {
- let mut fundings = BTreeMap::new();
- let funding = vec![
- serde_json::json!({"type": "github", "url": "https://github.com/fabpot"}),
- serde_json::json!({
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony"
- }),
- ];
- insert_funding_data(&mut fundings, "symfony/console", &funding);
-
- let symfony = fundings.get("symfony").unwrap();
- assert_eq!(symfony.len(), 2);
- assert!(symfony.contains_key("https://github.com/sponsors/fabpot"));
- assert!(
- symfony.contains_key("https://tidelift.com/funding/github/packagist/symfony/symfony")
- );
- }
-
- #[test]
- fn rewrite_github_url_profile() {
- let result = rewrite_github_url("https://github.com/Seldaek", Some("github"));
- assert_eq!(result, "https://github.com/sponsors/Seldaek");
- }
-
- #[test]
- fn rewrite_github_url_already_sponsors() {
- let result = rewrite_github_url("https://github.com/sponsors/Seldaek", Some("github"));
- assert_eq!(result, "https://github.com/sponsors/Seldaek");
- }
-
- #[test]
- fn rewrite_github_url_non_github_type() {
- let result = rewrite_github_url("https://github.com/fabpot", Some("tidelift"));
- assert_eq!(result, "https://github.com/fabpot");
- }
-
- #[test]
- fn rewrite_github_url_deep_path() {
- let result = rewrite_github_url("https://github.com/user/repo", Some("github"));
- assert_eq!(result, "https://github.com/user/repo");
- }
-
- #[test]
- fn rewrite_github_url_missing_type() {
- let result = rewrite_github_url("https://github.com/user", None);
- assert_eq!(result, "https://github.com/user");
- }
-
- #[test]
- fn render_json_empty_emits_array() {
- // Composer's `JsonFile::encode([])` emits `[]`; ensure Mozart matches
- // rather than serializing the empty BTreeMap to `{}`.
- let console = Console::new(0, false, false, false, true);
- let fundings: BTreeMap<String, BTreeMap<String, Vec<String>>> = BTreeMap::new();
-
- let buf = Vec::new();
- let formatter = serde_json::ser::PrettyFormatter::with_indent(b" ");
- let mut ser = serde_json::Serializer::with_formatter(buf, formatter);
- if fundings.is_empty() {
- let empty: Vec<()> = Vec::new();
- empty.serialize(&mut ser).unwrap();
- } else {
- fundings.serialize(&mut ser).unwrap();
- }
- let out = String::from_utf8(ser.into_inner()).unwrap();
- assert_eq!(out, "[]");
- let _ = console;
- }
-
- #[test]
- fn render_json_non_empty_is_object() {
- let mut fundings: BTreeMap<String, BTreeMap<String, Vec<String>>> = BTreeMap::new();
- let funding = make_funding_json(&[("github", "https://github.com/Seldaek")]);
- insert_funding_data(&mut fundings, "monolog/monolog", &funding);
-
- let buf = Vec::new();
- let formatter = serde_json::ser::PrettyFormatter::with_indent(b" ");
- let mut ser = serde_json::Serializer::with_formatter(buf, formatter);
- fundings.serialize(&mut ser).unwrap();
- let out = String::from_utf8(ser.into_inner()).unwrap();
- assert!(out.starts_with('{'));
- assert!(out.contains("monolog"));
- assert!(out.contains("https://github.com/sponsors/Seldaek"));
- }
-}