Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
BushraAbdullahi committed Sep 5, 2024
1 parent 3b6badb commit 7fe7ebc
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/helpers/formatName.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export function formatName(name: string) {
let splitName = name.replace(/\*|\s+/g, "%")

if (!splitName.endsWith("%")) {
if (!name.includes("%") && !splitName.endsWith("%")) {
splitName = `${splitName}%`
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,28 +51,57 @@ describe("listCourtCases", () => {
})

describe("search by resolvedByUsername", () => {
it("Should list cases that have been resolved by a specific user", async () => {
it("Should list cases that match the partial username search", async () => {
await insertCourtCasesWithFields([
{ errorResolvedBy: "User Name01" },
{ triggerResolvedBy: "User Name02" },
{ errorResolvedBy: "User Name03" }
])

let result = await listCourtCases(dataSource, { maxPageItems: 100, resolvedByUsername: "User" }, testUser)
const result = await listCourtCases(dataSource, { maxPageItems: 100, resolvedByUsername: "User" }, testUser)
expect(isError(result)).toBe(false)
let { result: cases } = result as ListCourtCaseResult
const { result: cases } = result as ListCourtCaseResult

expect(cases).toHaveLength(3)
expect(cases[0].errorResolvedBy).toStrictEqual("User Name01")
expect(cases[1].triggerResolvedBy).toStrictEqual("User Name02")
expect(cases[2].errorResolvedBy).toStrictEqual("User Name03")
})

result = await listCourtCases(dataSource, { maxPageItems: 100, resolvedByUsername: "User Name01" }, testUser)
it("Should list cases that match the full username search", async () => {
await insertCourtCasesWithFields([
{ errorResolvedBy: "User Name01" },
{ triggerResolvedBy: "User Name02" },
{ errorResolvedBy: "User Name03" }
])

const result = await listCourtCases(
dataSource,
{ maxPageItems: 100, resolvedByUsername: "User Name01" },
testUser
)
expect(isError(result)).toBe(false)
cases = (result as ListCourtCaseResult).result
const { result: cases } = result as ListCourtCaseResult

expect(cases).toHaveLength(1)
expect(cases[0].errorResolvedBy).toStrictEqual("User Name01")
})

it("Should handle wildcard searches for partial usernames", async () => {
await insertCourtCasesWithFields([
{ errorResolvedBy: "User Name01" },
{ triggerResolvedBy: "User Name02" },
{ errorResolvedBy: "User Name03" }
])

const result = await listCourtCases(dataSource, { maxPageItems: 100, resolvedByUsername: "Name0%" }, testUser)
expect(isError(result)).toBe(false)
const { result: cases } = result as ListCourtCaseResult

expect(cases).toHaveLength(3)
expect(cases[0].errorResolvedBy).toStrictEqual("User Name01")
expect(cases[1].triggerResolvedBy).toStrictEqual("User Name02")
expect(cases[2].errorResolvedBy).toStrictEqual("User Name03")
})
})
})
10 changes: 10 additions & 0 deletions test/services/listCourtCases/formatName.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,14 @@ describe("formatName", () => {
it("should handle empty string", () => {
expect(formatName("")).toBe("%")
})

it("should handle a wildcard character anywhere in the string", () => {
expect(formatName("Name0%")).toBe("Name0%")
expect(formatName("User%Name")).toBe("User%Name")
expect(formatName("%Name")).toBe("%Name")
})

it('should still replace spaces and append "%" at the end if no wildcard is present', () => {
expect(formatName("Name 0")).toBe("Name%0%")
})
})

0 comments on commit 7fe7ebc

Please sign in to comment.