project_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package gorm_test
  2. import (
  3. "testing"
  4. "github.com/porter-dev/porter/internal/models"
  5. "gorm.io/gorm"
  6. )
  7. func TestCreateProject(t *testing.T) {
  8. tester := &tester{
  9. dbFileName: "./porter_create_proj.db",
  10. }
  11. setupTestEnv(tester, t)
  12. defer cleanup(tester, t)
  13. proj := &models.Project{
  14. Name: "project-test",
  15. }
  16. proj, err := tester.repo.Project().CreateProject(proj)
  17. if err != nil {
  18. t.Fatalf("%v\n", err)
  19. }
  20. proj, err = tester.repo.Project().ReadProject(proj.Model.ID)
  21. if err != nil {
  22. t.Fatalf("%v\n", err)
  23. }
  24. // make sure id is 1 and name is "project-test"
  25. if proj.Model.ID != 1 {
  26. t.Errorf("incorrect project ID: expected %d, got %d\n", 1, proj.Model.ID)
  27. }
  28. if proj.Name != "project-test" {
  29. t.Errorf("incorrect project name: expected %s, got %s\n", "project-test", proj.Name)
  30. }
  31. }
  32. func TestDeleteProject(t *testing.T) {
  33. tester := &tester{
  34. dbFileName: "./porter_delete_proj.db",
  35. }
  36. setupTestEnv(tester, t)
  37. initProject(tester, t)
  38. defer cleanup(tester, t)
  39. proj, err := tester.repo.Project().DeleteProject(tester.initProjects[0])
  40. if err != nil {
  41. t.Fatalf("%v\n", err)
  42. }
  43. // attempt to read the project and ensure that the error is gorm.ErrRecordNotFound
  44. _, err = tester.repo.Project().ReadProject(proj.Model.ID)
  45. if err != gorm.ErrRecordNotFound {
  46. t.Fatalf("read should have returned record not found: returned %v\n", err)
  47. }
  48. }