refactor customer_test.go

This commit is contained in:
2024-10-14 16:54:24 -05:00
parent 39d4a1e7f0
commit 9c33a61570
2 changed files with 20 additions and 18 deletions

View File

@@ -1,8 +1,7 @@
package test package core
import ( import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"go-nkode/core"
"testing" "testing"
) )
@@ -13,27 +12,27 @@ func TestCustomer(t *testing.T) {
} }
func testNewCustomerAttributes(t *testing.T) { func testNewCustomerAttributes(t *testing.T) {
_, nil := core.NewCustomerAttributes() _, nil := NewCustomerAttributes()
assert.NoError(t, nil) assert.NoError(t, nil)
} }
func testCustomerValidKeyEntry(t *testing.T) { func testCustomerValidKeyEntry(t *testing.T) {
kp := core.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 9} kp := KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 9}
nkodePolicy := core.NewDefaultNKodePolicy() nkodePolicy := NewDefaultNKodePolicy()
customer, err := core.NewCustomer(nkodePolicy) customer, err := NewCustomer(nkodePolicy)
assert.NoError(t, err) assert.NoError(t, err)
mockSvgInterface := make(core.SvgIdInterface, kp.TotalAttrs()) mockSvgInterface := make(SvgIdInterface, kp.TotalAttrs())
userInterface, err := core.NewUserInterface(&kp, mockSvgInterface) userInterface, err := NewUserInterface(&kp, mockSvgInterface)
assert.NoError(t, err) assert.NoError(t, err)
userEmail := "testing@example.com" userEmail := "testing@example.com"
passcodeIdx := []int{0, 1, 2, 3} passcodeIdx := []int{0, 1, 2, 3}
user, err := core.NewUser(*customer, userEmail, passcodeIdx, *userInterface, kp) user, err := NewUser(*customer, userEmail, passcodeIdx, *userInterface, kp)
assert.NoError(t, err) assert.NoError(t, err)
userLoginInterface, err := user.GetLoginInterface() userLoginInterface, err := user.GetLoginInterface()
assert.NoError(t, err) assert.NoError(t, err)
selectedKeys, err := core.SelectKeyByAttrIdx(userLoginInterface, passcodeIdx, kp) selectedKeys, err := SelectKeyByAttrIdx(userLoginInterface, passcodeIdx, kp)
assert.NoError(t, err) assert.NoError(t, err)
validatedPasscode, err := core.ValidKeyEntry(*user, *customer, selectedKeys) validatedPasscode, err := ValidKeyEntry(*user, *customer, selectedKeys)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, len(validatedPasscode), len(passcodeIdx)) assert.Equal(t, len(validatedPasscode), len(passcodeIdx))
for idx := range validatedPasscode { for idx := range validatedPasscode {
@@ -42,16 +41,16 @@ func testCustomerValidKeyEntry(t *testing.T) {
} }
func testCustomerIsValidNKode(t *testing.T) { func testCustomerIsValidNKode(t *testing.T) {
kp := core.KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 7} kp := KeypadDimension{AttrsPerKey: 10, NumbOfKeys: 7}
nkodePolicy := core.NewDefaultNKodePolicy() nkodePolicy := NewDefaultNKodePolicy()
customer, err := core.NewCustomer(nkodePolicy) customer, err := NewCustomer(nkodePolicy)
assert.NoError(t, err) assert.NoError(t, err)
mockSvgInterface := make(core.SvgIdInterface, kp.TotalAttrs()) mockSvgInterface := make(SvgIdInterface, kp.TotalAttrs())
userInterface, err := core.NewUserInterface(&kp, mockSvgInterface) userInterface, err := NewUserInterface(&kp, mockSvgInterface)
assert.NoError(t, err) assert.NoError(t, err)
userEmail := "testing123@example.com" userEmail := "testing123@example.com"
passcodeIdx := []int{0, 1, 2, 3} passcodeIdx := []int{0, 1, 2, 3}
user, err := core.NewUser(*customer, userEmail, passcodeIdx, *userInterface, kp) user, err := NewUser(*customer, userEmail, passcodeIdx, *userInterface, kp)
assert.NoError(t, err) assert.NoError(t, err)
err = customer.IsValidNKode(user.Kp, passcodeIdx) err = customer.IsValidNKode(user.Kp, passcodeIdx)
assert.NoError(t, err) assert.NoError(t, err)

View File

@@ -7,6 +7,7 @@ import (
_ "github.com/mattn/go-sqlite3" // Import the SQLite3 driver _ "github.com/mattn/go-sqlite3" // Import the SQLite3 driver
"io/ioutil" "io/ioutil"
"log" "log"
"os"
"path/filepath" "path/filepath"
"strings" "strings"
) )
@@ -24,7 +25,9 @@ type Root struct {
} }
func main() { func main() {
dbPaths := []string{"/Users/donov/databases/test.db", "/Users/donov/databases/nkode.db"} testDbPath := os.Getenv("TEST_DB_PATH")
dbPath := os.Getenv("DB_PATH")
dbPaths := []string{testDbPath, dbPath}
outputStr := MakeSvgFiles() outputStr := MakeSvgFiles()
for _, path := range dbPaths { for _, path := range dbPaths {
MakeTables(path) MakeTables(path)