Exemplo n.º 1
0
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())