func (s Notifications) ResetDatabase() { env := application.NewEnvironment() database, gobbleDB := fetchDatabases() v1models.Setup(database) v2models.Setup(database) database.Connection().(*db.Connection).TruncateTables() migrator := v1models.DatabaseMigrator{} migrator.Seed(database, path.Join(env.RootPath, "templates", "default.json")) gobbleDB.Connection.TruncateTables() }
Expect(tables).To(ContainElement("templates")) }) }) Describe("seeding the default template", func() { var repo models.TemplatesRepo BeforeEach(func() { repo = models.NewTemplatesRepo() }) It("has the default template pre-seeded", func() { _, err := repo.FindByID(connection, models.DefaultTemplateID) Expect(err).To(BeAssignableToTypeOf(models.RecordNotFoundError(""))) dbMigrator.Seed(database, defaultTemplatePath) template, err := repo.FindByID(connection, models.DefaultTemplateID) Expect(err).NotTo(HaveOccurred()) Expect(template.Name).To(Equal("Default Template")) Expect(template.Subject).To(Equal("CF Notification: {{.Subject}}")) Expect(template.HTML).To(Equal("<p>{{.Endorsement}}</p>{{.HTML}}")) Expect(template.Text).To(Equal("{{.Endorsement}}\n{{.Text}}")) Expect(template.Metadata).To(Equal("{}")) }) It("can be called multiple times without panicking", func() { Expect(func() { dbMigrator.Seed(database, defaultTemplatePath) dbMigrator.Seed(database, defaultTemplatePath) dbMigrator.Seed(database, defaultTemplatePath) }).NotTo(Panic())