public void ShouldGetTimeoutAfterAddingReputation() { _dateTimeMock.Setup(dt => dt.Now).Returns(DateTime.Now); var expectedReputation = _data.Senne.Reputation.Value + 1; Assert.False(_reputationProvider.AddReputationHasTimeout(_data.Peter, _data.Senne)); _reputationProvider.AddReputation(_data.Peter, _data.Senne); Assert.True(_reputationProvider.AddReputationHasTimeout(_data.Peter, _data.Senne)); Assert.False(_reputationProvider.AddReputationHasTimeout(_data.Senne, _data.Peter)); Assert.Equal(expectedReputation, _data.Senne.Reputation.Value); }
public async Task GiveReputation(MiunieUser invoker, MiunieUser target, MiunieChannel c) { if (invoker.Id == target.Id) { await _discordMessages.SendMessage(c, PhraseKey.CANNOT_SELF_REP, invoker.Name); return; } if (_reputationProvider.AddReputationHasTimeout(invoker, target)) { _logger.Log($"User '{invoker.Name}' has a reputation timeout for User '{target.Name}', ignoring..."); return; } _reputationProvider.AddReputation(invoker, target); await _discordMessages.SendMessage(c, PhraseKey.REPUTATION_GIVEN, target.Name, invoker.Name); }