status-im/status-go

View on GitHub
protocol/messenger_config_test.go

Summary

Maintainability
A
0 mins
Test Coverage
package protocol

import (
    "github.com/multiformats/go-multiaddr"
    "github.com/stretchr/testify/suite"

    "github.com/status-im/status-go/appdatabase"
    "github.com/status-im/status-go/params"
    "github.com/status-im/status-go/protocol/communities"
    "github.com/status-im/status-go/services/mailservers"
    "github.com/status-im/status-go/t/helpers"
)

func WithTestStoreNode(s *suite.Suite, id string, address multiaddr.Multiaddr, fleet string, collectiblesServiceMock *CollectiblesServiceMock) Option {
    return func(c *config) error {
        sqldb, err := helpers.SetupTestMemorySQLDB(appdatabase.DbInitializer{})
        s.Require().NoError(err)

        db := mailservers.NewDB(sqldb)
        err = db.Add(mailservers.Mailserver{
            ID:    id,
            Name:  id,
            Addr:  &address,
            Fleet: fleet,
        })
        s.Require().NoError(err)

        c.mailserversDatabase = db
        c.clusterConfig = params.ClusterConfig{Fleet: fleet}
        c.communityTokensService = collectiblesServiceMock

        return nil
    }
}

func WithAutoRequestHistoricMessages(enabled bool) Option {
    return func(c *config) error {
        c.codeControlFlags.AutoRequestHistoricMessages = enabled
        return nil
    }
}

func WithCuratedCommunitiesUpdateLoop(enabled bool) Option {
    return func(c *config) error {
        c.codeControlFlags.CuratedCommunitiesUpdateLoopEnabled = enabled
        return nil
    }
}

func WithCommunityManagerOptions(options []communities.ManagerOption) Option {
    return func(c *config) error {
        c.communityManagerOptions = options
        return nil
    }
}