| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package gorm_test
- import (
- "testing"
- "time"
- "github.com/go-test/deep"
- "github.com/porter-dev/porter/internal/models"
- "gorm.io/gorm"
- )
- func TestCreateInvite(t *testing.T) {
- tester := &tester{
- dbFileName: "./porter_create_invite.db",
- }
- setupTestEnv(tester, t)
- initProject(tester, t)
- defer cleanup(tester, t)
- expiry := time.Now().Add(24 * time.Hour)
- invite := &models.Invite{
- Token: "abcd",
- Expiry: &expiry,
- Email: "testing@test.it",
- ProjectID: 1,
- }
- invite, err := tester.repo.Invite().CreateInvite(invite)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- invite, err = tester.repo.Invite().ReadInvite(1, invite.Model.ID)
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- // make sure id is 1, project id is 1 and token is "abcd"
- if invite.Model.ID != 1 {
- t.Errorf("incorrect invite ID: expected %d, got %d\n", 1, invite.Model.ID)
- }
- if invite.ProjectID != 1 {
- t.Errorf("incorrect invite project ID: expected %d, got %d\n", 1, invite.ProjectID)
- }
- if invite.Token != "abcd" {
- t.Errorf("incorrect token: expected %s, got %s\n", "abcd", invite.Token)
- }
- if invite.Email != "testing@test.it" {
- t.Errorf("incorrect email: expected %s, got %s\n", "testing@test.it", invite.Email)
- }
- }
- func TestListInvitesByProjectID(t *testing.T) {
- tester := &tester{
- dbFileName: "./porter_list_invites.db",
- }
- setupTestEnv(tester, t)
- initProject(tester, t)
- initInvite(tester, t)
- defer cleanup(tester, t)
- invites, err := tester.repo.Invite().ListInvitesByProjectID(
- tester.initProjects[0].Model.ID,
- )
- if err != nil {
- t.Fatalf("%v\n", err)
- }
- if len(invites) != 1 {
- t.Fatalf("length of invites incorrect: expected %d, got %d\n", 1, len(invites))
- }
- // make sure data is correct
- expInvite := models.Invite{
- Token: "abcd",
- Email: "testing@test.it",
- Expiry: &time.Time{},
- ProjectID: 1,
- }
- invite := invites[0]
- invite.Expiry = &time.Time{}
- // reset fields for reflect.DeepEqual
- invite.Model = gorm.Model{}
- if diff := deep.Equal(expInvite, *invite); diff != nil {
- t.Errorf("incorrect invite")
- t.Error(diff)
- }
- }
|