status-go/protocol/messenger_profile_showcase_...

79 lines
2.3 KiB
Go

package protocol
import (
"testing"
"github.com/stretchr/testify/suite"
)
func TestMessengerProfileShowcaseSuite(t *testing.T) {
suite.Run(t, new(MessengerProfileShowcaseSuite))
}
type MessengerProfileShowcaseSuite struct {
MessengerBaseTestSuite
}
func (s *MessengerProfileShowcaseSuite) TestSetAndGetProfileShowcasePreferences() {
communityEntry1 := &ProfileShowcaseEntry{
ID: "0x01312357798976434",
EntryType: ProfileShowcaseEntryTypeCommunity,
ShowcaseVisibility: ProfileShowcaseVisibilityContacts,
Order: 10,
}
communityEntry2 := &ProfileShowcaseEntry{
ID: "0x01312357798976535",
EntryType: ProfileShowcaseEntryTypeCommunity,
ShowcaseVisibility: ProfileShowcaseVisibilityEveryone,
Order: 11,
}
accountEntry := &ProfileShowcaseEntry{
ID: "0cx34662234",
EntryType: ProfileShowcaseEntryTypeAccount,
ShowcaseVisibility: ProfileShowcaseVisibilityEveryone,
Order: 17,
}
collectibleEntry := &ProfileShowcaseEntry{
ID: "0x12378534257568678487683576",
EntryType: ProfileShowcaseEntryTypeCollectible,
ShowcaseVisibility: ProfileShowcaseVisibilityIDVerifiedContacts,
Order: 17,
}
assetEntry := &ProfileShowcaseEntry{
ID: "0x139ii4uu423",
EntryType: ProfileShowcaseEntryTypeAsset,
ShowcaseVisibility: ProfileShowcaseVisibilityNoOne,
Order: 17,
}
request := ProfileShowcasePreferences{
Communities: []*ProfileShowcaseEntry{communityEntry1, communityEntry2},
Accounts: []*ProfileShowcaseEntry{accountEntry},
Collectibles: []*ProfileShowcaseEntry{collectibleEntry},
Assets: []*ProfileShowcaseEntry{assetEntry},
}
err := s.m.SetProfileShowcasePreferences(request)
s.Require().NoError(err)
response, err := s.m.GetProfileShowcasePreferences()
s.Require().NoError(err)
s.Require().Len(response.Communities, 2)
s.Require().Equal(response.Communities[0], communityEntry1)
s.Require().Equal(response.Communities[1], communityEntry2)
s.Require().Len(response.Accounts, 1)
s.Require().Equal(response.Accounts[0], accountEntry)
s.Require().Len(response.Collectibles, 1)
s.Require().Equal(response.Collectibles[0], collectibleEntry)
s.Require().Len(response.Assets, 1)
s.Require().Equal(response.Assets[0], assetEntry)
}