que hace esta funcion? se crea una variable originalAdd para almacenar la implementacion original, con mock se agrega la implementacion original, se hace uso de Spy para agregar las llamadas que se realizen, se anula la implementacion con .mockImplementation, por ultimo restauramos a su implementacion original .