123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- package orm
- import (
- "os"
- "testing"
- // "time"
- "github.com/jinzhu/gorm"
- "github.com/remogatto/prettytest"
- _ "github.com/jinzhu/gorm/dialects/sqlite"
- )
- type testSuite struct {
- prettytest.Suite
- }
- func TestRunner(t *testing.T) {
- prettytest.Run(
- t,
- new(testSuite),
- )
- }
- func (t *testSuite) BeforeAll() {
- var (
- db *gorm.DB
- err error
- )
- _, err = os.Stat("test.db")
- if err == nil {
- err := os.Remove("test.db")
- if err != nil {
- panic(err)
- }
- }
- db, err = gorm.Open("sqlite3", "test.db")
- if err != nil {
- panic(err)
- }
- Use(db)
- AutoMigrate()
- }
- func (t *testSuite) TestDB() {
- t.Not(t.Nil(DB()))
- }
- func (t *testSuite) TestGetActivityAll() {
- activity, err := new(Activity).Read(map[string]string{"id": "1"}, nil)
- t.Nil(err)
- if !t.Failed() {
- t.Equal("Amilcare", activity.(*Activity).Teacher.Name)
- }
- }
- // func (t *testSuite) TestGetActivityForUpdate() {
- // data, err := GetActivityForUpdate(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("Amilcare", data.(ActivityForUpdate).Activity.Teacher.Name)
- // t.Equal("1 A", data.(ActivityForUpdate).AllClasses[0].Name)
- // t.Equal("ITALIANO", data.(ActivityForUpdate).AllSubjects[1].Name)
- // t.Equal("Costanza", data.(ActivityForUpdate).AllTeachers[2].Name)
- // }
- // }
- // func (t *testSuite) TestSaveActivity() {
- // activity, err := GetActivity(map[string]string{"id": "1"})
- // t.Nil(err)
- // t.Equal(uint(1), activity.(*Activity).SubjectID)
- // activity.(*Activity).SubjectID = 2
- // _, err = SaveActivity(activity)
- // t.Nil(err)
- // if !t.Failed() {
- // activity, _ = GetActivity(map[string]string{"id": "1"})
- // t.Equal(uint(2), activity.(*Activity).SubjectID)
- // }
- // }
- // func (t *testSuite) TestDeleteActivity() {
- // var activities []*Activity
- // err := DB().Find(&activities).Error
- // t.Nil(err)
- // numActivities := len(activities)
- // activity, err := CreateActivity(
- // &Activity{
- // SubjectID: 1,
- // TeacherID: 1,
- // ClassID: 1,
- // })
- // t.Nil(err)
- // err = DB().Find(&activities).Error
- // t.Nil(err)
- // t.Equal(numActivities+1, len(activities))
- // act, err := DeleteActivity(map[string]string{"id": strconv.Itoa(int(activity.ID))}, nil)
- // t.Nil(err)
- // t.Equal(14, act.GetID())
- // err = DB().Find(&activities).Error
- // t.Nil(err)
- // t.Equal(numActivities, len(activities))
- // }
- // func (t *testSuite) TestGetTeacher() {
- // teacher, err := new(Teacher).Read(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("Amilcare", teacher.(*Teacher).Name)
- // t.Equal("AGOSTINO", teacher.(*Teacher).Surname)
- // }
- // }
- // func (t *testSuite) TestGetTeacherAll() {
- // teacher, err := GetTeacherAll(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("Amilcare", teacher.(*Teacher).Name)
- // t.Equal("AGOSTINO", teacher.(*Teacher).Surname)
- // t.Equal("1 A", teacher.(*Teacher).Activities[0].Class.Name)
- // t.Equal("1 B", teacher.(*Teacher).Activities[1].Class.Name)
- // t.Equal(4, teacher.(*Teacher).ActualHours)
- // }
- // teacher, err = GetTeacherAll(map[string]string{"id": "3"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("Costanza", teacher.(*Teacher).Name)
- // t.Equal("LUNGA", teacher.(*Teacher).Surname)
- // t.Equal(true, teacher.(*Teacher).IsCoordinator)
- // }
- // }
- // func (t *testSuite) TestGetStudentAll() {
- // student, err := GetStudentAll(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("Mario", student.(*Student).Name)
- // t.Equal("ROSSI", student.(*Student).Surname)
- // t.Equal("1 A", student.(*Student).Class.Name)
- // t.Equal("LUNGA", student.(*Student).Class.Coordinator.Surname)
- // }
- // }
- // func (t *testSuite) TestGetTeachers() {
- // teachers, err := new(Teacher).ReadAll(map[string]string{})
- // t.Nil(err)
- // t.Equal(11, len(teachers.([]*Teacher)))
- // teacher := teachers.([]*Teacher)[0]
- // classes, err := teacher.GetClasses()
- // t.Nil(err)
- // t.Equal(2, len(classes))
- // t.Equal(2, len(teacher.Classes))
- // class := classes[0]
- // t.Equal("1 A", class.Name)
- // }
- // func (t *testSuite) TestGetTeachersAll() {
- // teachers, err := GetTeachersAll(map[string]string{})
- // t.Nil(err)
- // t.Equal(11, len(teachers.([]*Teacher)))
- // t.Equal("1 A", teachers.([]*Teacher)[0].Classes[0].Name)
- // t.Equal("SCIENZE", teachers.([]*Teacher)[0].Subjects[0].Name)
- // t.Equal(1, len(teachers.([]*Teacher)[0].SubjectsByClass[1]))
- // }
- // func (t *testSuite) TestGetTeachersFast() {
- // teachers, err := GetTeachersFast(map[string]string{})
- // t.Nil(err)
- // t.Equal(11, len(teachers.([]*Teacher)))
- // }
- // func (t *testSuite) TestGetTeacherActByClass() {
- // teacher, err := GetTeacher(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // _, err := teacher.(*Teacher).GetActivitiesByClass("1")
- // t.Nil(err)
- // if !t.Failed() {
- // t.True(len(teacher.(*Teacher).Activities) > 0)
- // }
- // }
- // }
- // func (t *testSuite) TestGetTeacherSubjByClass() {
- // teacher, err := GetTeacherAll(map[string]string{"id": "1"})
- // t.Nil(err)
- // t.Equal(2, len(teacher.(*Teacher).Subjects))
- // if !t.Failed() {
- // subjects, err := teacher.(*Teacher).GetSubjectsByClassID("1")
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal(1, len(subjects))
- // }
- // }
- // }
- // func (t *testSuite) TestSaveTeacher() {
- // teacher, err := GetTeacher(map[string]string{"id": "1"})
- // t.Nil(err)
- // teacher.(*Teacher).Name = "Roberto"
- // _, err = SaveTeacher(teacher)
- // t.Nil(err)
- // if !t.Failed() {
- // teacher, _ = GetTeacher(map[string]string{"id": "1"})
- // t.Equal("Roberto", teacher.(*Teacher).Name)
- // }
- // }
- // func (t *testSuite) TestCreateDeleteTeacher() {
- // teacher, err := CreateTeacher(&Teacher{Credential: Credential{Name: "Giovanni", Surname: "GIACOBBE"}})
- // t.Nil(err)
- // if !t.Failed() {
- // _, err = DeleteTeacher(map[string]string{"id": strconv.Itoa(int(teacher.ID))}, nil)
- // t.Nil(err)
- // teachers, _ := GetTeachers(map[string]string{})
- // t.Equal(11, len(teachers.([]*Teacher)))
- // }
- // teacher, err = CreateTeacher(&Teacher{Credential: Credential{Name: "Amilcare", Surname: "AGOSTINO"}})
- // t.Not(t.Nil(err))
- // }
- // func (t *testSuite) TestGetDepartments() {
- // departments, err := GetDepartments(map[string]string{})
- // t.Nil(err)
- // t.Equal(2, len(departments.([]*Department)))
- // if !t.Failed() {
- // department := departments.([]*Department)[0]
- // subjects, err := department.GetSubjects()
- // t.Nil(err)
- // t.Equal(1, len(subjects))
- // t.Equal(1, len(department.Subjects))
- // subject := subjects[0]
- // t.Equal("FRANCESE", subject.Name)
- // }
- // }
- // func (t *testSuite) TestGetDepartment() {
- // department, err := GetDepartment(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("LINGUE STRANIERE", department.(*Department).Name)
- // }
- // }
- // func (t *testSuite) TestGetDepartmentAll() {
- // department, err := GetDepartmentAll(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("FRANCESE", department.(*Department).Subjects[0].Name)
- // t.Equal("DELLE ROSE", department.(*Department).Teachers[0].Surname)
- // }
- // }
- // func (t *testSuite) TestGetSubjectForAdd() {
- // data, err := GetSubjectForAdd(nil)
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("LINGUE STRANIERE", data.(SubjectForAdd).AllDepartments[0].Name)
- // }
- // }
- // func (t *testSuite) TestSaveStudent() {
- // student, err := GetStudentAll(map[string]string{"id": "1"})
- // t.Nil(err)
- // t.Equal(uint(1), student.(*Student).ClassID)
- // student.(*Student).ClassID = 2
- // student.(*Student).Handicap = true
- // _, err = SaveStudent(student)
- // t.Nil(err)
- // if !t.Failed() {
- // student, _ = GetStudent(map[string]string{"id": "1"})
- // t.Equal(uint(2), student.(*Student).ClassID)
- // t.Equal(true, student.(*Student).Handicap)
- // }
- // }
- // // Groups
- // func (t *testSuite) TestGetGroups() {
- // groups, err := GetGroups(map[string]string{})
- // t.Nil(err)
- // t.Equal(1, len(groups.([]*Group)))
- // }
- // func (t *testSuite) TestGetGroup() {
- // group, err := GetGroup(map[string]string{"id": "1"})
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal("Gruppo", group.(*Group).Name)
- // }
- // }
- // func (t *testSuite) TestTeacherQuery() {
- // group := new(Group)
- // // Select all
- // group.Query = "surname:*"
- // teachers, err := group.executeTeacherQuery()
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal(11, len(teachers))
- // }
- // // Select teacher with surname beginning with the letter A
- // group.Query = "surname:A*"
- // teachers, err = group.executeTeacherQuery()
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal(2, len(teachers))
- // }
- // // Select teacher with surname beginning with the letter A
- // group.Query = "coordinator:true"
- // teachers, err = group.executeTeacherQuery()
- // t.Nil(err)
- // if !t.Failed() {
- // t.Equal(1, len(teachers))
- // }
- // }
|