example

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2021 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Article

type Article struct {
	ID                 int
	Title              string
	Body               string
	AuthorID           int
	PublishScheduledAt time.Time
	PublishedAt        time.Time
	Status             ArticleStatus
	LikeCount          int
}

Article represents article

type ArticleBluePrintFunc added in v0.0.4

type ArticleBluePrintFunc func(i int, last Article) Article

type ArticleBuilder added in v0.0.4

type ArticleBuilder interface {
	EachParam(articleParams ...Article) ArticleBuilder
	Zero(articleFields ...ArticleField) ArticleBuilder
	ResetAfter() ArticleBuilder

	Build() *Article
	Build2() (*Article, *Article)
	Build3() (*Article, *Article, *Article)
	BuildList(n int) []*Article
}

type ArticleFactory added in v0.0.4

type ArticleFactory interface {
	NewBuilder(bluePrint ArticleBluePrintFunc, traits ...Article) ArticleBuilder
	OnBuild(onBuild func(t *testing.T, article *Article))
	Reset()
}

func NewArticleFactory added in v0.0.4

func NewArticleFactory(t *testing.T) ArticleFactory

type ArticleField added in v0.0.4

type ArticleField string
const (
	ArticleIDField                 ArticleField = "ID"
	ArticleTitleField              ArticleField = "Title"
	ArticleBodyField               ArticleField = "Body"
	ArticleAuthorIDField           ArticleField = "AuthorID"
	ArticlePublishScheduledAtField ArticleField = "PublishScheduledAt"
	ArticlePublishedAtField        ArticleField = "PublishedAt"
	ArticleStatusField             ArticleField = "Status"
	ArticleLikeCountField          ArticleField = "LikeCount"
)

type ArticleList

type ArticleList []*Article

Article represents list of article

func (ArticleList) SelectAuthoredBy

func (list ArticleList) SelectAuthoredBy(authorID int) ArticleList

SelectAuthoredBy returns only articles authored by given author's id

func (ArticleList) SelectPublished

func (list ArticleList) SelectPublished() ArticleList

SelectPublished returns only published articles

type ArticleStatus

type ArticleStatus int

ArticleStatus is the status of article

const (
	ArticleStatusDraft ArticleStatus = iota + 1
	ArticleStatusOpen
)

type Author

type Author struct {
	ID   int
	Name string
}

Author represents article's author

type AuthorBluePrintFunc added in v0.0.4

type AuthorBluePrintFunc func(i int, last Author) Author

type AuthorBuilder added in v0.0.4

type AuthorBuilder interface {
	EachParam(authorParams ...Author) AuthorBuilder
	Zero(authorFields ...AuthorField) AuthorBuilder
	ResetAfter() AuthorBuilder

	Build() *Author
	Build2() (*Author, *Author)
	Build3() (*Author, *Author, *Author)
	BuildList(n int) []*Author
}

type AuthorFactory added in v0.0.4

type AuthorFactory interface {
	NewBuilder(bluePrint AuthorBluePrintFunc, traits ...Author) AuthorBuilder
	OnBuild(onBuild func(t *testing.T, author *Author))
	Reset()
}

func NewAuthorFactory added in v0.0.4

func NewAuthorFactory(t *testing.T) AuthorFactory

type AuthorField added in v0.0.4

type AuthorField string
const (
	AuthorIDField   AuthorField = "ID"
	AuthorNameField AuthorField = "Name"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL