diff --git a/tests/daemon/fw/strategy-tester.hpp b/tests/daemon/fw/strategy-tester.hpp
index c842327..5b5c98d 100644
--- a/tests/daemon/fw/strategy-tester.hpp
+++ b/tests/daemon/fw/strategy-tester.hpp
@@ -106,11 +106,11 @@
 
 protected:
   void
-  sendInterest(const shared_ptr<pit::Entry>& pitEntry, Face& outFace,
+  sendInterest(const shared_ptr<pit::Entry>& pitEntry, const FaceEndpoint& egress,
                const Interest& interest) override
   {
-    sendInterestHistory.push_back({pitEntry->getInterest(), outFace.getId(), interest});
-    pitEntry->insertOrUpdateOutRecord(outFace, 0, interest);
+    sendInterestHistory.push_back({pitEntry->getInterest(), egress.face.getId(), interest});
+    pitEntry->insertOrUpdateOutRecord(egress.face, egress.endpoint, interest);
     afterAction();
   }
 
@@ -122,11 +122,11 @@
   }
 
   void
-  sendNack(const shared_ptr<pit::Entry>& pitEntry, const Face& outFace,
+  sendNack(const shared_ptr<pit::Entry>& pitEntry, const FaceEndpoint& egress,
            const lp::NackHeader& header) override
   {
-    sendNackHistory.push_back({pitEntry->getInterest(), outFace.getId(), header});
-    pitEntry->deleteInRecord(outFace, 0);
+    sendNackHistory.push_back({pitEntry->getInterest(), egress.face.getId(), header});
+    pitEntry->deleteInRecord(egress.face, egress.endpoint);
     afterAction();
   }
 
