Skip to content

Commit

Permalink
condense query and add phone search/test
Browse files Browse the repository at this point in the history
  • Loading branch information
KonstanceH committed Mar 7, 2025
1 parent 646eb8f commit 1a8c561
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 1 deletion.
8 changes: 7 additions & 1 deletion pkg/handlers/adminapi/office_users.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ var officeUserFilterConverters = map[string]func(string) func(*pop.Query){
"search": func(content string) func(*pop.Query) {
return func(query *pop.Query) {
firstSearch, lastSearch, emailSearch := fmt.Sprintf("%%%s%%", content), fmt.Sprintf("%%%s%%", content), fmt.Sprintf("%%%s%%", content)
query.Where("office_users.first_name ILIKE ? AND office_users.status = 'APPROVED' OR office_users.last_name ILIKE ? AND office_users.status = 'APPROVED' OR office_users.email ILIKE ? AND office_users.status = 'APPROVED'", firstSearch, lastSearch, emailSearch)
query.Where("office_users.status = 'APPROVED' AND (office_users.first_name ILIKE ? OR office_users.last_name ILIKE ? OR office_users.email ILIKE ?", firstSearch, lastSearch, emailSearch)
}
},
"email": func(content string) func(*pop.Query) {
Expand All @@ -129,6 +129,12 @@ var officeUserFilterConverters = map[string]func(string) func(*pop.Query){
query.Where("office_users.email ILIKE ? AND office_users.status = 'APPROVED'", emailSearch)
}
},
"phone": func(content string) func(*pop.Query) {
return func(query *pop.Query) {
phoneSearch := fmt.Sprintf("%%%s%%", content)
query.Where("office_users.telephone ILIKE ? AND office_users.status = 'APPROVED'", phoneSearch)
}
},
"firstName": func(content string) func(*pop.Query) {
return func(query *pop.Query) {
firstNameSearch := fmt.Sprintf("%%%s%%", content)
Expand Down
18 changes: 18 additions & 0 deletions pkg/handlers/adminapi/office_users_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ func (suite *HandlerSuite) TestIndexOfficeUsersHandler() {
Email: "conAirKilluh2@mail.mil",
Status: &status,
TransportationOfficeID: transportationOffice.ID,
Telephone: "415-555-5555",
},
},
{
Expand Down Expand Up @@ -229,6 +230,23 @@ func (suite *HandlerSuite) TestIndexOfficeUsersHandler() {
suite.Equal(emailSearch, respEmail[0:len(emailSearch)])
suite.Equal(emailSearch, respEmail[0:len(emailSearch)])

// telephone search
phoneSearch := "415-"
filterJSON = fmt.Sprintf("{\"phone\":\"%s\"}", phoneSearch)
params = officeuserop.IndexOfficeUsersParams{
HTTPRequest: suite.setupAuthenticatedRequest("GET", "/office_users"),
Filter: &filterJSON,
}
response = handler.Handle(params)

suite.IsType(&officeuserop.IndexOfficeUsersOK{}, response)
okResponse = response.(*officeuserop.IndexOfficeUsersOK)
suite.Len(okResponse.Payload, 1)

respPhone := *okResponse.Payload[0].Email
suite.Equal(phoneSearch, respPhone[0:len(phoneSearch)])
suite.Equal(phoneSearch, respPhone[0:len(phoneSearch)])

// firstName search
firstSearch := "Angelina"
filterJSON = fmt.Sprintf("{\"firstName\":\"%s\"}", firstSearch)
Expand Down
1 change: 1 addition & 0 deletions src/pages/Admin/OfficeUsers/OfficeUserList.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ const ListActions = () => {
const filterList = [
<SearchInput source="search" alwaysOn />,
<TextInput label="Email" source="email" />,
<TextInput label="Telephone" source="phone" />,
<TextInput label="First Name" source="firstName" />,
<TextInput label="Last Name" source="lastName" />,
<TextInput label="Office" source="office" />,
Expand Down

0 comments on commit 1a8c561

Please sign in to comment.