code: def get_state(self, job_id: str, mode: str = "standard") -> str:
      duration = time.time() - self.start_timer
      if duration < self.time_change:
          return "pending"
      elif 2 * self.time_change > duration > self.time_change:
          return "running"
      if job_id == "failed":
          return "failed"
      return "done"
  
imports: import os
  import time
  import typing
  from pathlib import Path
  import pytest
  from .None import helpers
  from .core import core, utils
label_desc: Use image node_id 2 for calling the FakeInfoWatcherWithTimer obj's underlying member method code with example usage: obj.get_state(job_id, mode) and returns: str, str, str, str