From 96d81a36286e41035ff4068859a3b0f9da924fbc Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 30 Jun 2017 19:38:37 -0700 Subject: Latest PDS UI utils including all the domain stuff --- .../driver/pdsuicommon/utils/StringOpsSuite.scala | 33 ++++++++++++++++++++++ .../xyz/driver/pdsuidomain/DocumentSuite.scala | 31 ++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 src/test/scala/xyz/driver/pdsuicommon/utils/StringOpsSuite.scala (limited to 'src/test/scala') diff --git a/src/test/scala/xyz/driver/pdsuicommon/utils/StringOpsSuite.scala b/src/test/scala/xyz/driver/pdsuicommon/utils/StringOpsSuite.scala new file mode 100644 index 0000000..9bd4382 --- /dev/null +++ b/src/test/scala/xyz/driver/pdsuicommon/utils/StringOpsSuite.scala @@ -0,0 +1,33 @@ +package xyz.driver.pdsuicommon.utils + +import xyz.driver.pdsuicommon.utils.Implicits.toStringOps +import org.scalatest.FreeSpecLike + +class StringOpsSuite extends FreeSpecLike { + + "safeTrim" - { + "empty string" in { + assert("".safeTrim == "") + } + + "string with whitespace symbols" in { + assert("\u2002\u3000\r\u0085\u200A\u2005\u2000\u3000".safeTrim == "") + } + + "string with control symbols" in { + assert("\u001f\u007f\t\n".safeTrim == "") + } + + "whitespaces and control symbols from the left side" in { + assert("\u001f\u2002\u007f\nfoo".safeTrim == "foo") + } + + "whitespaces and control symbols from the right side" in { + assert("foo\u001f\u2002\u007f\n".safeTrim == "foo") + } + + "already trimmed string" in { + assert("foo".safeTrim == "foo") + } + } +} \ No newline at end of file diff --git a/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala b/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala index 3955667..f851680 100644 --- a/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala +++ b/src/test/scala/xyz/driver/pdsuidomain/DocumentSuite.scala @@ -33,6 +33,35 @@ class DocumentSuite extends BaseSuite { } } + "getRequiredType" - { + "getOPNType" in { + val documentForOPNType = sampleDocument.copy( + typeId = Some(LongId(1L)), + providerTypeId = Some(LongId(1L)), + startDate = Some(LocalDate.now().minus(2, ChronoUnit.DAYS)) + ) + val r = documentForOPNType.getRequiredType("Outpatient Physician Note", "Medical Oncology") + assert(r.contains(Document.RequiredType.OPN), s"document should have the requiredType=OPN, but:$r") + } + + "getPNType" in { + val documentForPNType = sampleDocument.copy( + typeId = Some(LongId(6)) + ) + val r = documentForPNType.getRequiredType("Pathology Report", "") + assert(r.contains(Document.RequiredType.PN), s"document should have the requiredType=PN, but:$r") + } + "get None" in { + val document = sampleDocument.copy( + typeId = Some(LongId(1L)), + providerTypeId = Some(LongId(1L)), + startDate = Some(LocalDate.now().minus(7, ChronoUnit.MONTHS)) + ) + val r = document.getRequiredType("Outpatient Physician Note", "Medical Oncology") + assert(r.isEmpty, s"document should have the requiredType=None, but:$r") + } + } + private def sampleDocument = { val lastUpdate = LocalDateTime.now() @@ -42,11 +71,13 @@ class DocumentSuite extends BaseSuite { previousStatus = None, assignee = None, previousAssignee = None, + lastActiveUserId = None, recordId = LongId(2003), physician = None, typeId = Some(LongId(123)), providerName = Some("etst"), providerTypeId = Some(LongId(123)), + requiredType = None, startDate = Some(lastUpdate.toLocalDate.minusDays(2)), endDate = None, lastUpdate = lastUpdate, -- cgit v1.2.3