diff --git a/lib/src/Event.dart b/lib/src/Event.dart index 089603df..c5fb1ab6 100644 --- a/lib/src/Event.dart +++ b/lib/src/Event.dart @@ -171,10 +171,11 @@ class Event { /// Removes this event if the status is < 1. This event will just be removed /// from the database and the timelines. Returns false if not removed. - bool remove() { + Future remove() async { if (status < 1) { if (room.client.store != null) - room.client.store.db.rawDelete("DELETE FROM Events WHERE id=?", [id]); + await room.client.store.db + .rawDelete("DELETE FROM Events WHERE id=?", [id]); room.client.connection.onEvent.add(EventUpdate( roomID: room.id, diff --git a/test/Event_test.dart b/test/Event_test.dart index 35270cb9..a6356591 100644 --- a/test/Event_test.dart +++ b/test/Event_test.dart @@ -164,9 +164,11 @@ void main() { test("remove", () async { Event event = Event.fromJson( jsonObj, Room(id: "1234", client: Client("testclient", debug: true))); - expect(event.remove(), false); + final bool removed1 = await event.remove(); event.status = 0; - expect(event.remove(), true); + final bool removed2 = await event.remove(); + expect(removed1, false); + expect(removed2, true); }); test("sendAgain", () async {