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") } }