public void Should_Init_Handler()
        {
            IUserJoinsServerHandler handler = Substitute.For <IUserJoinsServerHandler>();

            _client.Register(handler);

            handler.Received(1).Init(_client, Arg.Is <DataStoreLockDecorator>(decoratedDataStore => decoratedDataStore.DataStore == _dataStore));
        }
Esempio n. 2
0
        /// <summary>
        /// Registers a handler to handle when a new user joins the server for the first time.
        /// </summary>
        /// <param name="userJoinsServerHandler"></param>
        public void Register(IUserJoinsServerHandler userJoinsServerHandler)
        {
            if (userJoinsServerHandler == null)
            {
                throw new ArgumentNullException(nameof(userJoinsServerHandler));
            }

            userJoinsServerHandler.Init(this, _decoratedDataStore);

            _userJoinsServerHandlers.Add(userJoinsServerHandler);
        }
        public void Setup()
        {
            _parser         = Substitute.For <ICommandParser>();
            _discordClient  = Substitute.For <IDiscordClient>();
            _discloseClient = new DiscloseClient(_discordClient, _parser);

            _discloseClient.Init(new DiscloseOptions());

            _user   = Substitute.For <IServerUser>();
            _server = Substitute.For <IServer>();

            _user.Id.Returns((ulong)1);
            _server.Id.Returns((ulong)2);

            _handler1 = Substitute.For <IUserJoinsServerHandler>();
            _handler2 = Substitute.For <IUserJoinsServerHandler>();

            _discloseClient.Register(_handler1);
            _discloseClient.Register(_handler2);

            _discordClient.OnServerAvailable += Raise.EventWith <ServerEventArgs>(new object(), new ServerEventArgs(_server));
        }