package factories import ( "github.com/icrowley/fake" "rocketgit.ru/rsmon/worker/app/models" ) // GroupFactory provides functionality. func GroupFactory(account *models.Account) models.Group { group := models.Group{ Name: fake.Company(), } if account == nil { c := AccountFactory() account = &c } group.Account = account group.AccountID = account.ID return group } // PersistedGroup provides functionality. func PersistedGroup(account *models.Account) models.Group { group := GroupFactory(account) if group.Account.ID == 0 { err := models.DB().Save(&group.Account).Error if err != nil { panic(err) } group.AccountID = group.Account.ID } err := models.DB().Save(&group).Error if err != nil { panic(err) } return group }