diff --git a/db-commons/src/main/scala/org/bitcoins/db/CRUD.scala b/db-commons/src/main/scala/org/bitcoins/db/CRUD.scala index 769093d669..3c4595f835 100644 --- a/db-commons/src/main/scala/org/bitcoins/db/CRUD.scala +++ b/db-commons/src/main/scala/org/bitcoins/db/CRUD.scala @@ -90,9 +90,15 @@ abstract class CRUD[T, PrimaryKeyType](implicit } else { val actions = ts.map(t => find(t).update(t)) for { - _ <- safeDatabase.runVec(DBIO.sequence(actions).transactionally) - result <- safeDatabase.runVec(findAll(ts).result) - } yield result + numUpdated <- safeDatabase.runVec( + DBIO.sequence(actions).transactionally) + tsUpdated <- { + if (numUpdated.sum == ts.length) Future.successful(ts) + else + Future.failed(new RuntimeException( + s"Unexpected number of updates completed ${numUpdated.sum} of ${ts.length}")) + } + } yield tsUpdated } } diff --git a/testkit/src/main/scala/org/bitcoins/testkit/db/TestDAOFixture.scala b/testkit/src/main/scala/org/bitcoins/testkit/db/TestDAOFixture.scala index 56efe8a27b..b8bcbd94b2 100644 --- a/testkit/src/main/scala/org/bitcoins/testkit/db/TestDAOFixture.scala +++ b/testkit/src/main/scala/org/bitcoins/testkit/db/TestDAOFixture.scala @@ -54,7 +54,8 @@ sealed trait TestDAOFixture val updatedDb: TestDb = testDb.copy(data = hex"0000") - val updatedDbs: Vector[TestDb] = testDbs.map(_.copy(data = hex"0000")) + val updatedDbs: Vector[TestDb] = + testDbs.init.map(_.copy(data = hex"0000")).:+(testDbs.last) def testCreate(testDAO: TestDAO): Future[Boolean] = { for {