12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package db
- import (
- "os"
- "testing"
- "git.andreafazzi.eu/andrea/probo/client"
- "git.andreafazzi.eu/andrea/probo/hasher/sha256"
- "git.andreafazzi.eu/andrea/probo/store/memory"
- "github.com/remogatto/prettytest"
- )
- type dbTestSuite struct {
- prettytest.Suite
- }
- func TestRunner(t *testing.T) {
- prettytest.Run(
- t,
- new(dbTestSuite),
- )
- }
- func (t *dbTestSuite) TestCreateExam() {
- memStore := memory.NewMemoryProboCollectorStore(
- sha256.NewDefault256Hasher(sha256.DefaultSHA256HashingFn),
- )
- memStore.CreateQuiz(
- &client.CreateUpdateQuizRequest{
- Quiz: &client.Quiz{
- Question: &client.Question{Text: "Newly created question text with #tag1."},
- Answers: []*client.Answer{
- {Text: "Answer 1", Correct: true},
- {Text: "Answer 2", Correct: false},
- {Text: "Answer 3", Correct: false},
- {Text: "Answer 4", Correct: false},
- },
- },
- })
- store, err := NewDBProboCollectorStore("testdata/test.sqlite", memStore)
- defer os.Remove("testdata/test.sqlite")
- t.Nil(err)
- if !t.Failed() {
- collection, err := memStore.CreateCollection(&client.CreateUpdateCollectionRequest{
- Collection: &client.Collection{
- Name: "Collection name",
- Query: "#tag1",
- },
- })
- t.Nil(err)
- if !t.Failed() {
- exam, err := store.CreateExam(&client.CreateUpdateExamRequest{
- Exam: &client.Exam{
- Name: "Exam",
- Description: "Exam description",
- CollectionID: collection.ID,
- },
- })
- t.Nil(err)
- if !t.Failed() {
- t.Not(t.Nil(exam))
- examFromDb, err := store.ReadExamByID(&client.ReadExamByIDRequest{ID: exam.ID})
- t.Nil(err)
- if !t.Failed() {
- t.Equal(examFromDb.ID, exam.ID)
- }
- }
- }
- }
- }
|