Esempio n. 1
0
		})
		Expect(err).NotTo(HaveOccurred())

		err = db.Create(&Comment{
			TrackableId:   1000,
			TrackableType: "translation",
			Text:          "comment3",
		})
		Expect(err).NotTo(HaveOccurred())
	})

	Describe("struct model", func() {
		It("supports HasOne, HasMany, HasMany2Many, Polymorphic, HasMany -> Polymorphic", func() {
			var book Book
			err := db.Model(&book).
				Columns("book.id", "Author.id", "Editor.id", "Genres.id", "Comments", "Translations", "Translations.Comments").
				First()
			Expect(err).NotTo(HaveOccurred())

			Expect(book.Id).To(Equal(100))
			Expect(book.Author.ID).To(Equal(10))

			Expect(book.Genres).To(HaveLen(2))
			genre := book.Genres[0]
			Expect(genre.Id).To(Equal(1))
			genre = book.Genres[1]
			Expect(genre.Id).To(Equal(2))

			Expect(book.Translations).To(HaveLen(2))
			translation := book.Translations[0]
			Expect(translation.Id).To(Equal(1000))