This repository has been archived on 2022-11-27. You can view files and clone it, but cannot push or open issues or pull requests.
activitypub/profile_test.go
Marius Orcsik 15ac5c20c7
Updated OnX functions to apply the function on an item collection if that's what's being passed to it
This still has the downside that the collection might contain different types of objects

but I can't think of a better way to do it at the moment
2021-01-31 13:30:40 +01:00

105 lines
2 KiB
Go

package activitypub
import (
"fmt"
"testing"
)
func TestProfile_Recipients(t *testing.T) {
t.Skipf("TODO")
}
func TestToProfile(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_GetID(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_GetLink(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_GetType(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_IsCollection(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_IsLink(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_IsObject(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_UnmarshalJSON(t *testing.T) {
t.Skipf("TODO")
}
func TestProfile_Clean(t *testing.T) {
t.Skipf("TODO")
}
func assertProfileWithTesting(fn canErrorFunc, expected *Profile) withProfileFn {
return func (p *Profile) error {
if !assertDeepEquals(fn, p , expected) {
return fmt.Errorf("not equal")
}
return nil
}
}
func TestOnProfile(t *testing.T) {
testProfile := Profile{
ID: "https://example.com",
}
type args struct {
it Item
fn func(canErrorFunc, *Profile) withProfileFn
}
tests := []struct {
name string
args args
wantErr bool
}{
{
name: "single",
args: args{testProfile, assertProfileWithTesting},
wantErr: false,
},
{
name: "single fails",
args: args{&Profile{ID: "https://not-equal"}, assertProfileWithTesting},
wantErr: true,
},
{
name: "collection of profiles",
args: args{ItemCollection{testProfile, testProfile}, assertProfileWithTesting},
wantErr: false,
},
{
name: "collection of profiles fails",
args: args{ItemCollection{testProfile, &Profile{ID: "not-equal"}}, assertProfileWithTesting},
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
var logFn canErrorFunc
if tt.wantErr {
logFn = t.Logf
} else {
logFn = t.Errorf
}
if err := OnProfile(tt.args.it, tt.args.fn(logFn, &testProfile)); (err != nil) != tt.wantErr {
t.Errorf("OnProfile() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}