Browse Source

test: add test for query builder parsing datetime.time

version-14
Anoop Kurungadam 2 years ago
parent
commit
99889c2701
1 changed files with 25 additions and 0 deletions
  1. +25
    -0
      frappe/tests/test_query_builder.py

+ 25
- 0
frappe/tests/test_query_builder.py View File

@@ -1,3 +1,4 @@
from datetime import time
import unittest
from collections.abc import Callable

@@ -74,6 +75,30 @@ class TestCustomFunctionsMariaDB(FrappeTestCase):
str(select_query).lower(),
)

def test_time(self):
note = frappe.qb.DocType("Note")

self.assertEqual(
"TIMESTAMP('2021-01-01','00:00:21')", CombineDatetime("2021-01-01", time(0,0,21)).get_sql()
)

select_query = (
frappe.qb.from_(note)
.select(CombineDatetime(note.posting_date, note.posting_time))
)
self.assertIn(
"select timestamp(`posting_date`,`posting_time`)", str(select_query).lower()
)

select_query = select_query.where(
CombineDatetime(note.posting_date, note.posting_time)
>= CombineDatetime("2021-01-01", time(0,0,1))
)
self.assertIn(
"timestamp(`posting_date`,`posting_time`)>=timestamp('2021-01-01','00:00:01')",
str(select_query).lower(),
)

def test_cast(self):
note = frappe.qb.DocType("Note")
self.assertEqual("CONCAT(name,'')", Cast_(note.name, "varchar").get_sql())


Loading…
Cancel
Save