Example #1
0
        public void ShouldRemoveReputation()
        {
            _dateTimeMock.Setup(dt => dt.Now).Returns(DateTime.Now);
            var expectedReputation = _data.Senne.Reputation.Value - 1;

            _reputationProvider.RemoveReputation(_data.Peter, _data.Senne);

            Assert.Equal(expectedReputation, _data.Senne.Reputation.Value);
        }
        public void RemoveReputation_ShouldDecrementReputation()
        {
            _dateTimeMock.Setup(dt => dt.Now).Returns(DateTime.Now);
            var expectedRep = _users.Senne.Reputation.Value - 1;

            _repProvider.RemoveReputation(_users.Peter, _users.Senne);
            var actualRep = _users.Senne.Reputation.Value;

            Assert.Equal(expectedRep, actualRep);
        }
Example #3
0
        public async Task RemoveReputationAsync(MiunieUser invoker, MiunieUser target, MiunieChannel c)
        {
            if (invoker.UserId == target.UserId)
            {
                await _discordMessages.SendMessageAsync(c, PhraseKey.CANNOT_SELF_REP, invoker.Name);

                return;
            }

            if (_reputationProvider.CanRemoveReputation(invoker, target))
            {
                return;
            }

            _reputationProvider.RemoveReputation(invoker, target);

            if (_miunieDiscord.UserIsMiunie(target))
            {
                await _discordMessages.SendMessageAsync(c, PhraseKey.REPUTATION_TAKEN_BOT, invoker.Name);

                return;
            }

            await _discordMessages.SendMessageAsync(c, PhraseKey.REPUTATION_TAKEN, invoker.Name, target.Name);
        }
Example #4
0
        public async Task RemoveReputation(MiunieUser invoker, MiunieUser target, MiunieChannel c)
        {
            if (invoker.Id == target.Id)
            {
                await _discordMessages.SendMessage(c, PhraseKey.CANNOT_SELF_REP, invoker.Name);

                return;
            }

            if (_reputationProvider.RemoveReputationHasTimeout(invoker, target))
            {
                return;
            }

            _reputationProvider.RemoveReputation(invoker, target);
            await _discordMessages.SendMessage(c, PhraseKey.REPUTATION_TAKEN, invoker.Name, target.Name);
        }