24 lines
1.1 KiB
Go
24 lines
1.1 KiB
Go
package domain
|
|
|
|
import "testing"
|
|
|
|
func TestCopyGameClientBridgeDeclarationsCopiesQueryTemplateSlices(t *testing.T) {
|
|
manifest := GameClientBridgeManifest{
|
|
QueryTemplates: []GameClientBridgeQueryTemplateDeclaration{{Key: "player.lookup"}},
|
|
Pages: []GameClientBridgePageContract{{PageKey: "players", QueryTemplateKeys: []string{"player.lookup"}}},
|
|
}
|
|
manifestCopy := CopyGameClientBridgeManifest(manifest)
|
|
manifestCopy.QueryTemplates[0].Key = "mutated"
|
|
manifestCopy.Pages[0].QueryTemplateKeys[0] = "mutated"
|
|
if manifest.QueryTemplates[0].Key != "player.lookup" || manifest.Pages[0].QueryTemplateKeys[0] != "player.lookup" {
|
|
t.Fatalf("manifest copy aliases query template declarations: source=%#v copy=%#v", manifest, manifestCopy)
|
|
}
|
|
|
|
status := GameClientBridgeStatus{Profiles: []GameClientBridgeProfileDeclaration{{QueryTemplateKeys: []string{"player.lookup"}}}}
|
|
statusCopy := CopyGameClientBridgeStatus(status)
|
|
statusCopy.Profiles[0].QueryTemplateKeys[0] = "mutated"
|
|
if status.Profiles[0].QueryTemplateKeys[0] != "player.lookup" {
|
|
t.Fatalf("status copy aliases query template keys: source=%#v copy=%#v", status, statusCopy)
|
|
}
|
|
}
|