The infamous "I understand not much how refueling work in C#" issue is now striking me in turn, after so many
I have a mini-tanker in the same exact location as a stranded fleet. She has fuel, has a refueling system, is checked as being a tanker, is set to refuel own fleet.
I pass the order "Join and refuel target fleet"
She join. She does not refuel. ??
Refueling is not instantaneous, when you gave it the command what it did was that it joined the target fleet. Now what SHOULD happen is that since its set to refuel its own fleet, it will automatically, over time refuel its parent fleet. If the fleet is not moving you should notice ships getting refueled one by one, draining from the tanker.
In the case of movement, if you have not researched underway replenishment, nothing will happen. If you have done this the tanker will refuel at a %rate dependent on what level of underway replenishment you have research.
The problem is that when moving, your tanker may be refueling at a rate that is slower than the fuel consumption rate of the fleet, making it look like no refueling is happening.