A woman lost nine stone in just over two years after a waiter mistook her for being pregnant and offered her a mocktail.