Esempio n. 1
0
        public async Task MemberClient_GetPoints_ToUserThatExists_ReturnsSamePoints()
        {
            // arrange
            var amount = Rng.Next();

            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var getQuery = new MemberQuery
            {
                GuildId = guildId,
                UserId  = userId
            };

            var addQuery = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = amount
            };

            // act
            var addResult = await client.AddPointsAsync(addQuery);

            var getResult = await client.GetPointsAsync(getQuery);

            // assert
            Assert.AreEqual(Status.Success, addResult.Status, "AddPointsAsync() failed.");
            Assert.AreEqual(amount, addResult.Experience);
            Assert.AreEqual(Status.Success, getResult.Status, "GetPointsAsync() failed.");
            Assert.AreEqual(amount, getResult.Experience);
        }
Esempio n. 2
0
        public async Task MemberClient_RemovePoints_ToUserThatExistsWithNegativeSubstractionResult_ReturnsZero()
        {
            // arrange
            const int addAmount    = 5;
            const int removeAmount = 8;

            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var addQuery = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = addAmount
            };
            var removeQuery = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = removeAmount
            };

            // act
            var addResult = await client.AddPointsAsync(addQuery);

            var removeResult = await client.RemovePointsAsync(removeQuery);

            // assert
            Assert.AreEqual(Status.Success, addResult.Status, "AddPointsAsync() failed.");
            Assert.AreEqual(addAmount, addResult.Experience);
            Assert.AreEqual(Status.Success, removeResult.Status, "RemovePointsAsync() failed.");
            Assert.AreEqual(0, removeResult.Experience);
        }
Esempio n. 3
0
        public override async Task <Result> SetPoints(MemberQueryWithPoints request, ServerCallContext context)
        {
            var result = await _database.SetMemberPointsAsync(request.GuildId, request.UserId, request.Amount);

            return(new Result {
                Status = result.Success ? Status.Success : Status.Failed
            });
        }
Esempio n. 4
0
        public override async Task <ExperienceResult> AddPoints(MemberQueryWithPoints request, ServerCallContext context)
        {
            var result = await _database.AddMemberPointsAsync(request.GuildId, request.UserId, request.Amount);

            return(result.Success
                                ? new ExperienceResult {
                Status = Status.Success, Experience = result.Value
            }
                                : new ExperienceResult {
                Status = Status.Failed
            });
        }
Esempio n. 5
0
        public async Task MemberClient_RemovePoints_ToUserThatDoesNotExist_ReturnsZero()
        {
            // arrange
            var amount = Rng.Next();

            var          channel = GetChannel();
            var          client  = new Member.MemberClient(channel);
            const string guildId = "1";
            const string userId  = "1";

            var query = new MemberQueryWithPoints
            {
                GuildId = guildId,
                UserId  = userId,
                Amount  = amount
            };

            // act
            var result = await client.RemovePointsAsync(query);

            // assert
            Assert.AreEqual(Status.Success, result.Status, "RemovePointsAsync() failed.");
            Assert.AreEqual(0, result.Experience);
        }