diff --git a/ent/report.go b/ent/report.go index c50e198..9743325 100644 --- a/ent/report.go +++ b/ent/report.go @@ -11,14 +11,14 @@ import ( // See: // https://docs.joinmastodon.org/entities/Report/ type Report struct { - ID opt.Optional[string] `json:"id"` - ActionTaken opt.Optional[bool] `json:"action_taken"` - ActionTakenAt nul.Nullable[string] `json:"action_taken_at"` - Category opt.Optional[string] `json:"category"` - Comment opt.Optional[string] `json:"comment"` - Forwarded opt.Optional[bool] `json:"forwarded"` - CreatedAt opt.Optional[string] `json:"created_at"` - StatusIDs nul.Nullable[jsonstr.Strings] `json:"status_ids"` - RuleIDs nul.Nullable[jsonstr.Strings] `json:"rule_ids"` - TargetAccount Account `json:"target_account"` + ID opt.Optional[string] `json:"id,omitempty"` + ActionTaken opt.Optional[bool] `json:"action_taken,omitempty"` + ActionTakenAt nul.Nullable[string] `json:"action_taken_at,omitempty"` + Category opt.Optional[string] `json:"category,omitempty"` + Comment opt.Optional[string] `json:"comment,omitempty"` + Forwarded opt.Optional[bool] `json:"forwarded,omitempty"` + CreatedAt opt.Optional[string] `json:"created_at,omitempty"` + StatusIDs nul.Nullable[jsonstr.Strings] `json:"status_ids,omitempty"` + RuleIDs nul.Nullable[jsonstr.Strings] `json:"rule_ids,omitempty"` + TargetAccount opt.Optional[Account] `json:"target_account,omitempty"` } diff --git a/ent/report_marshaljson_test.go b/ent/report_marshaljson_test.go index bf918bd..6ede1d1 100644 --- a/ent/report_marshaljson_test.go +++ b/ent/report_marshaljson_test.go @@ -3,9 +3,7 @@ package ent_test import ( "testing" - "encoding/json" - - "github.com/reiver/go-jsonint" + "github.com/reiver/go-json" "github.com/reiver/go-jsonpp" "github.com/reiver/go-jsonstr" "github.com/reiver/go-nul" @@ -31,32 +29,7 @@ func TestReport_MarshalJSON(t *testing.T) { CreatedAt: opt.Something("2023-09-27T00:31:59Z"), StatusIDs: nul.Null[jsonstr.Strings](), RuleIDs: nul.Null[jsonstr.Strings](), - TargetAccount: ent.Account{ - ID: opt.Something("12345"), - UserName: opt.Something("joeblow"), - Acct: opt.Something("joeblow@example.com"), - URL: opt.Something("https://example.com/@joeblow"), - URI: opt.Something("https://example.com/users/joeblow"), - DisplayName: opt.Something("Joe Blow :-)"), - Note: opt.Something("
I came. I saw. I conquered!
"), - Avatar: opt.Something("https://files.example.com/avatar/joeblow.png"), - AvatarStatic: opt.Something("https://files.example.com/avatar-static/joeblow.png"), - Header: opt.Something("https://files.example.com/header/joeblow.png"), - HeaderStatic: opt.Something("https://files.example.com/header-static/joeblow/png"), - //Fields []Field `json:"fields"` - //Emojis []CustomEmoji `json:"emojis"` - Locked: opt.Something(false), - Bot: opt.Something(false), - Group: opt.Something(false), - Discoverable: nul.Something(true), - CreatedAt: opt.Something("2017-02-08T02:00:53.274Z"), - LastStatusAt: nul.Something("2023-09-27T00:31:59Z"), - StatusesCount: opt.Something(jsonint.Int64(9876543210)), - FollowersCount: opt.Something(jsonint.Int64(12345)), - FollowingCount: opt.Something(jsonint.Int64(210)), - NoIndex: nul.Nothing[bool](), - //Roles []Role `json:"roles"` - }, + TargetAccount: opt.Something(demoAccount1()), }, Expected : `{`+ @@ -78,51 +51,7 @@ func TestReport_MarshalJSON(t *testing.T) { `,`+ `"rule_ids":null`+ `,`+ - `"target_account":{`+ - `"id":"12345"`+ - `,`+ - `"username":"joeblow"`+ - `,`+ - `"acct":"joeblow@example.com"`+ - `,`+ - `"url":"https://example.com/@joeblow"`+ - `,`+ - `"uri":"https://example.com/users/joeblow"`+ - `,`+ - `"display_name":"Joe Blow :-)"`+ - `,`+ - `"note":"\u003cp\u003eI came. I saw. I conquered!\u003c/p\u003e"`+ - `,`+ - `"avatar":"https://files.example.com/avatar/joeblow.png"`+ - `,`+ - `"avatar_static":"https://files.example.com/avatar-static/joeblow.png"`+ - `,`+ - `"header":"https://files.example.com/header/joeblow.png"`+ - `,`+ - `"header_static":"https://files.example.com/header-static/joeblow/png"`+ - `,`+ - `"fields":[]`+ - `,`+ - `"emojis":[]`+ - `,`+ - `"locked":false`+ - `,`+ - `"bot":false`+ - `,`+ - `"group":false`+ - `,`+ - `"discoverable":true`+ - `,`+ - `"created_at":"2017-02-08T02:00:53.274Z"`+ - `,`+ - `"last_status_at":"2023-09-27T00:31:59Z"`+ - `,`+ - `"statuses_count":9876543210`+ - `,`+ - `"followers_count":12345`+ - `,`+ - `"following_count":210`+ - `}`+ + `"target_account":`+toJSON(demoAccount1())+ `}`, }, @@ -145,32 +74,7 @@ func TestReport_MarshalJSON(t *testing.T) { CreatedAt: opt.Something("2023-09-27T00:31:59Z"), StatusIDs: nul.Null[jsonstr.Strings](), RuleIDs: nul.Null[jsonstr.Strings](), - TargetAccount: ent.Account{ - ID: opt.Something("12345"), - UserName: opt.Something("joeblow"), - Acct: opt.Something("joeblow@example.com"), - URL: opt.Something("https://example.com/@joeblow"), - URI: opt.Something("https://example.com/users/joeblow"), - DisplayName: opt.Something("Joe Blow :-)"), - Note: opt.Something("I came. I saw. I conquered!
"), - Avatar: opt.Something("https://files.example.com/avatar/joeblow.png"), - AvatarStatic: opt.Something("https://files.example.com/avatar-static/joeblow.png"), - Header: opt.Something("https://files.example.com/header/joeblow.png"), - HeaderStatic: opt.Something("https://files.example.com/header-static/joeblow/png"), - //Fields []Field `json:"fields"` - //Emojis []CustomEmoji `json:"emojis"` - Locked: opt.Something(false), - Bot: opt.Something(false), - Group: opt.Something(false), - Discoverable: nul.Something(true), - CreatedAt: opt.Something("2017-02-08T02:00:53.274Z"), - LastStatusAt: nul.Something("2023-09-27T00:31:59Z"), - StatusesCount: opt.Something(jsonint.Int64(9876543210)), - FollowersCount: opt.Something(jsonint.Int64(12345)), - FollowingCount: opt.Something(jsonint.Int64(210)), - NoIndex: nul.Nothing[bool](), - //Roles []Role `json:"roles"` - }, + TargetAccount: opt.Something(demoAccount1()), }, Expected : `{`+ @@ -192,51 +96,7 @@ func TestReport_MarshalJSON(t *testing.T) { `,`+ `"rule_ids":null`+ `,`+ - `"target_account":{`+ - `"id":"12345"`+ - `,`+ - `"username":"joeblow"`+ - `,`+ - `"acct":"joeblow@example.com"`+ - `,`+ - `"url":"https://example.com/@joeblow"`+ - `,`+ - `"uri":"https://example.com/users/joeblow"`+ - `,`+ - `"display_name":"Joe Blow :-)"`+ - `,`+ - `"note":"\u003cp\u003eI came. I saw. I conquered!\u003c/p\u003e"`+ - `,`+ - `"avatar":"https://files.example.com/avatar/joeblow.png"`+ - `,`+ - `"avatar_static":"https://files.example.com/avatar-static/joeblow.png"`+ - `,`+ - `"header":"https://files.example.com/header/joeblow.png"`+ - `,`+ - `"header_static":"https://files.example.com/header-static/joeblow/png"`+ - `,`+ - `"fields":[]`+ - `,`+ - `"emojis":[]`+ - `,`+ - `"locked":false`+ - `,`+ - `"bot":false`+ - `,`+ - `"group":false`+ - `,`+ - `"discoverable":true`+ - `,`+ - `"created_at":"2017-02-08T02:00:53.274Z"`+ - `,`+ - `"last_status_at":"2023-09-27T00:31:59Z"`+ - `,`+ - `"statuses_count":9876543210`+ - `,`+ - `"followers_count":12345`+ - `,`+ - `"following_count":210`+ - `}`+ + `"target_account":`+toJSON(demoAccount1())+ `}`, }, @@ -259,32 +119,7 @@ func TestReport_MarshalJSON(t *testing.T) { CreatedAt: opt.Something("2023-09-27T00:31:59Z"), StatusIDs: nul.Null[jsonstr.Strings](), RuleIDs: nul.Null[jsonstr.Strings](), - TargetAccount: ent.Account{ - ID: opt.Something("12345"), - UserName: opt.Something("joeblow"), - Acct: opt.Something("joeblow@example.com"), - URL: opt.Something("https://example.com/@joeblow"), - URI: opt.Something("https://example.com/users/joeblow"), - DisplayName: opt.Something("Joe Blow :-)"), - Note: opt.Something("I came. I saw. I conquered!
"), - Avatar: opt.Something("https://files.example.com/avatar/joeblow.png"), - AvatarStatic: opt.Something("https://files.example.com/avatar-static/joeblow.png"), - Header: opt.Something("https://files.example.com/header/joeblow.png"), - HeaderStatic: opt.Something("https://files.example.com/header-static/joeblow/png"), - //Fields []Field `json:"fields"` - //Emojis []CustomEmoji `json:"emojis"` - Locked: opt.Something(false), - Bot: opt.Something(false), - Group: opt.Something(false), - Discoverable: nul.Something(true), - CreatedAt: opt.Something("2017-02-08T02:00:53.274Z"), - LastStatusAt: nul.Something("2023-09-27T00:31:59Z"), - StatusesCount: opt.Something(jsonint.Int64(9876543210)), - FollowersCount: opt.Something(jsonint.Int64(12345)), - FollowingCount: opt.Something(jsonint.Int64(210)), - NoIndex: nul.Nothing[bool](), - //Roles []Role `json:"roles"` - }, + TargetAccount: opt.Something(demoAccount1()), }, Expected : `{`+ @@ -306,58 +141,14 @@ func TestReport_MarshalJSON(t *testing.T) { `,`+ `"rule_ids":null`+ `,`+ - `"target_account":{`+ - `"id":"12345"`+ - `,`+ - `"username":"joeblow"`+ - `,`+ - `"acct":"joeblow@example.com"`+ - `,`+ - `"url":"https://example.com/@joeblow"`+ - `,`+ - `"uri":"https://example.com/users/joeblow"`+ - `,`+ - `"display_name":"Joe Blow :-)"`+ - `,`+ - `"note":"\u003cp\u003eI came. I saw. I conquered!\u003c/p\u003e"`+ - `,`+ - `"avatar":"https://files.example.com/avatar/joeblow.png"`+ - `,`+ - `"avatar_static":"https://files.example.com/avatar-static/joeblow.png"`+ - `,`+ - `"header":"https://files.example.com/header/joeblow.png"`+ - `,`+ - `"header_static":"https://files.example.com/header-static/joeblow/png"`+ - `,`+ - `"fields":[]`+ - `,`+ - `"emojis":[]`+ - `,`+ - `"locked":false`+ - `,`+ - `"bot":false`+ - `,`+ - `"group":false`+ - `,`+ - `"discoverable":true`+ - `,`+ - `"created_at":"2017-02-08T02:00:53.274Z"`+ - `,`+ - `"last_status_at":"2023-09-27T00:31:59Z"`+ - `,`+ - `"statuses_count":9876543210`+ - `,`+ - `"followers_count":12345`+ - `,`+ - `"following_count":210`+ - `}`+ + `"target_account":`+toJSON(demoAccount1())+ `}`, }, } for testNumber, test := range tests { - actualBytes, err := json.Marshal(test.Report) + actualBytes, err := json.Marshal(&test.Report) if nil != err { t.Errorf("For test #%d, did not expect an error but actually got one.", testNumber) t.Logf("ERROR: (%T) %s", err, err)