зачем вы в тесте создаете транзакцию? она же никак не привязана к выполняемому запросу. Вы либо меняйте функцию, чтобы она принимала транзакцию сразу, либо в тестах подсовывайте вновь созданную БД, которую просто дропните после тестов и не будете париться что там что-то у вас наплодилось или пошло не так