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