I think that would be ok. Users would try to remove more units than are currently available maybe indicating that there's some wrong with their database. Same goes for when user try to remove a variant that does not belong to the shipment.

Either way I actually just touched this code because I saw the pending specs when running the order_inventory_spec and thought that made sense.

> should raise exception if variant does not belong to shipment
> should raise exception if not enough deletable units are present

I guess we should either implement those or remove the pending specs if that's not that class responsibility. what do you think? We could improve the errors as well to raise a custom exception so users can properly rescue it.