package packagemanager import ( "os/exec" "system_setup_tool/internal/shell" "testing" ) func TestFlatpakManager_Name(t *testing.T) { fm := &FlatpakManager{} if name := fm.Name(); name != "Flatpak" { t.Errorf("Expected name to be 'Flatpak', got %s", name) } } func TestFlatpakManager_InstallManager(t *testing.T) { fm := &FlatpakManager{ OS: &OS{PackageManager: "apt"}, SudoPassword: "testpass", Config: FlatpakConfig{ Remotes: []Remote{{Name: "test", URL: "http://test.com"}}, }, } // Mock exec.LookPath and other functions as needed if err := fm.InstallManager(); err != nil { t.Errorf("Expected no error, got %v", err) } } func TestFlatpakManager_InstallPackage(t *testing.T) { fm := &FlatpakManager{} // Mock exec.Command shell.ExecCommand = func(name string, arg ...string) *exec.Cmd { return exec.Command("echo", "mocked flatpak install") } defer func() { shell.ExecCommand = exec.Command }() if err := fm.InstallPackage("test-package"); err != nil { t.Errorf("Expected no error, got %v", err) } }