forked from mirrors/homebox
feat: enhanced search functions (#260)
* make login case insensitive * expand query to support by Field and By AID search * type generation * new API callers * rework search to support field queries * improve unnecessary data fetches * clear stores on logout * change verbage * add labels
This commit is contained in:
parent
7b28973c60
commit
bd06fdafaf
18 changed files with 637 additions and 133 deletions
|
@ -7,6 +7,7 @@ import (
|
|||
|
||||
"github.com/google/uuid"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func itemFactory() ItemCreate {
|
||||
|
@ -273,3 +274,48 @@ func TestItemsRepository_Update(t *testing.T) {
|
|||
assert.Equal(t, updateData.WarrantyDetails, got.WarrantyDetails)
|
||||
assert.Equal(t, updateData.LifetimeWarranty, got.LifetimeWarranty)
|
||||
}
|
||||
|
||||
func TestItemRepository_GetAllCustomFields(t *testing.T) {
|
||||
const FIELDS_COUNT = 5
|
||||
|
||||
entity := useItems(t, 1)[0]
|
||||
|
||||
fields := make([]ItemField, FIELDS_COUNT)
|
||||
names := make([]string, FIELDS_COUNT)
|
||||
values := make([]string, FIELDS_COUNT)
|
||||
|
||||
for i := 0; i < FIELDS_COUNT; i++ {
|
||||
name := fk.Str(10)
|
||||
fields[i] = ItemField{
|
||||
Name: name,
|
||||
Type: "text",
|
||||
TextValue: fk.Str(10),
|
||||
}
|
||||
names[i] = name
|
||||
values[i] = fields[i].TextValue
|
||||
}
|
||||
|
||||
_, err := tRepos.Items.UpdateByGroup(context.Background(), tGroup.ID, ItemUpdate{
|
||||
ID: entity.ID,
|
||||
Name: entity.Name,
|
||||
LocationID: entity.Location.ID,
|
||||
Fields: fields,
|
||||
})
|
||||
|
||||
require.NoError(t, err)
|
||||
|
||||
// Test getting all fields
|
||||
{
|
||||
results, err := tRepos.Items.GetAllCustomFieldNames(context.Background(), tGroup.ID)
|
||||
assert.NoError(t, err)
|
||||
assert.ElementsMatch(t, names, results)
|
||||
}
|
||||
|
||||
// Test getting all values from field
|
||||
{
|
||||
results, err := tRepos.Items.GetAllCustomFieldValues(context.Background(), tUser.GroupID, names[0])
|
||||
|
||||
assert.NoError(t, err)
|
||||
assert.ElementsMatch(t, values[:1], results)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue