lodash - Cuenta duplicados y luego elimínalos

Estoy tratando de usar lodash para contar primero cuántos duplicados hay en una matriz de objetos y luego eliminar el duplicado (manteniendo el contador).

El código que tengo hasta ahora parece funcionar, pero no puedo entender cómo fusionar los dos (lo siento, nuevo con lodash).

Aquí hay un código:

var array = [
{id: 1, name: "test"},
{id: 2, name: "test 2"},
{id: 3, name: "test 3"},
{id: 4, name: "test 4"},
{id: 1, name: "test "},
{id: 2, name: "test 2"},
]

// This finds the duplicates and removes them
result = _.uniqBy(array, 'id')

// this counts how many duplicates are in the array
count = _(result)
.groupBy('id')
.map((items, name) => ({ name, count: items.length }))
.value();

Me gustaría contar, luego eliminar pero mantener el conteo, para que el resultado final básicamente me diga cuántos productos hay en el pedido, pero manteniendo el mismo valor y cambiando la cantidad de 1 a 2.

Intenté con esto, pero no funciona:

result = _(result)
  .groupBy('id')
  .map((items, name) => ({ name, count: items.length }))
  .uniqBy(result, 'name')
  .value()

lo que me dará algo como esto:

result = [
{id: 1, name: "test", qty: 2},
{id: 2, name: "test 2", qty: 2},
{id: 3, name: "test 3", qty: 1},
{id: 4, name: "test 4", qty: 1}
]

¿Alguna ayuda?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta