diff options
-rw-r--r-- | persistence/sqlite/sqlite_test.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/persistence/sqlite/sqlite_test.go b/persistence/sqlite/sqlite_test.go new file mode 100644 index 0000000..f6ff967 --- /dev/null +++ b/persistence/sqlite/sqlite_test.go @@ -0,0 +1,51 @@ +package sqlite_test + +import ( + "context" + "os" + "testing" + + "uvok.de/go/training_fellow/registration" + "uvok.de/go/training_fellow/registration/persistence/sqlite" +) + +func TestSqliteFetchUnconfirmed(t *testing.T) { + + testRegId := "xx-yy-01-01" + newRegistration := registration.Registration{ + FirstName: "Test", + LastName: "User", + Email: "bla@foo.com", + Company: "ACMA Inc.", + TrainingCode: "xxxx0xx", + Date: "2023-01-01", + PrivacyPolicyAccepted: true, + Confirmed: false, + RegId: testRegId, + } + + testFileName := "./registration_test.sqlite" + os.Remove(testFileName) + repo := sqlite.NewRepository(testFileName, context.Background()) + repo.Migrate() + + err := repo.SaveRegistration(&newRegistration) + if err != nil { + t.Fatalf("Saving registration failed: %v.", err) + } + + queryReg, _ := repo.ConfirmRegistration(testRegId + "x") + if queryReg != nil { + t.Fatal("Query for wrong RegId must not return any results.") + } + queryReg, err = repo.ConfirmRegistration(testRegId) + // set to true so we can compare + newRegistration.Confirmed = true + if err != nil { + t.Fatalf("Unexpected error fetching record: %v", err) + } else if queryReg == nil { + t.Fatal("Should have found record.") + } else if *queryReg != newRegistration { + t.Error("Fetched registration doesn't match expected") + } +} |