Add default customer id

This commit is contained in:
2024-08-30 18:37:22 -05:00
parent fe06a95c98
commit 5684387bb0
16 changed files with 77 additions and 40 deletions

View File

@@ -14,24 +14,24 @@ func TestCustomer(t *testing.T) {
func testNewCustomerAttributes(t *testing.T) {
// keypad := m.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 5}
_, nil := m.NewCustomerAttributes()
_, nil := model.NewCustomerAttributes()
assert.NoError(t, nil)
}
func testCustomerValidKeyEntry(t *testing.T) {
kp := m.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 9}
nkodePolicy := m.NewDefaultNKodePolicy()
customer, err := m.NewCustomer(nkodePolicy)
kp := model.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 9}
nkodePolicy := model.NewDefaultNKodePolicy()
customer, err := model.NewCustomer(nkodePolicy)
assert.NoError(t, err)
newUserInterface, err := m.NewUserInterface(&kp)
newUserInterface, err := model.NewUserInterface(&kp)
assert.NoError(t, err)
username := m.Username("testing123")
username := model.Username("testing123")
passcodeIdx := []int{0, 1, 2, 3}
user, err := NewUser(*customer, username, passcodeIdx, *newUserInterface, kp)
assert.NoError(t, err)
userLoginInterface, err := user.GetLoginInterface()
assert.NoError(t, err)
selectedKeys, err := m.SelectKeyByAttrIdx(userLoginInterface, passcodeIdx, kp)
selectedKeys, err := model.SelectKeyByAttrIdx(userLoginInterface, passcodeIdx, kp)
assert.NoError(t, err)
validatedPasscode, err := ValidKeyEntry(*user, *customer, selectedKeys)
assert.NoError(t, err)
@@ -42,13 +42,13 @@ func testCustomerValidKeyEntry(t *testing.T) {
}
func testCustomerIsValidNKode(t *testing.T) {
kp := m.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 7}
nkodePolicy := m.NewDefaultNKodePolicy()
customer, err := m.NewCustomer(nkodePolicy)
kp := model.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 7}
nkodePolicy := model.NewDefaultNKodePolicy()
customer, err := model.NewCustomer(nkodePolicy)
assert.NoError(t, err)
newUserInterface, err := m.NewUserInterface(&kp)
newUserInterface, err := model.NewUserInterface(&kp)
assert.NoError(t, err)
username := m.Username("testing123")
username := model.Username("testing123")
passcodeIdx := []int{0, 1, 2, 3}
user, err := NewUser(*customer, username, passcodeIdx, *newUserInterface, kp)
assert.NoError(t, err)

View File

@@ -5,11 +5,11 @@ import (
)
type DbAccessor interface {
GetCustomer(m.CustomerId) (*m.Customer, error)
GetUser(m.Username, m.CustomerId) (*m.User, error)
WriteNewCustomer(m.Customer) error
WriteNewUser(m.User) error
UpdateUserInterface(m.UserId, m.UserInterface) error
Renew(m.CustomerId) error
RefreshUser(m.User, []int, m.CustomerAttributes) error
GetCustomer(model.CustomerId) (*model.Customer, error)
GetUser(model.Username, model.CustomerId) (*model.User, error)
WriteNewCustomer(model.Customer) error
WriteNewUser(model.User) error
UpdateUserInterface(model.UserId, model.UserInterface) error
Renew(model.CustomerId) error
RefreshUser(model.User, []int, model.CustomerAttributes) error
}

View File

@@ -18,8 +18,11 @@ func NewNKodeAPI(db DbAccessor) NKodeAPI {
}
}
func (n *NKodeAPI) CreateNewCustomer(nkodePolicy m.NKodePolicy) (*m.CustomerId, error) {
func (n *NKodeAPI) CreateNewCustomer(nkodePolicy m.NKodePolicy, id *m.CustomerId) (*m.CustomerId, error) {
newCustomer, err := m.NewCustomer(nkodePolicy)
if id != nil {
newCustomer.Id = *id
}
if err != nil {
return nil, err
}

View File

@@ -31,7 +31,7 @@ func testNKodeAPI(t *testing.T, db DbAccessor) {
nkodePolicy := m.NewDefaultNKodePolicy()
keypadSize := m.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 8}
nkodeApi := NewNKodeAPI(db)
customerId, err := nkodeApi.CreateNewCustomer(nkodePolicy)
customerId, err := nkodeApi.CreateNewCustomer(nkodePolicy, nil)
assert.NoError(t, err)
signupResponse, err := nkodeApi.GenerateSignupInterface(*customerId, keypadSize)
assert.NoError(t, err)