예제 #1
0
        public override async Task <StarboardGetResult> GetRandom(StarboardGetRandomQuery request,
                                                                  ServerCallContext context)
        {
            var result = await _database.GetStarboardAsync(request.GuildId,
                                                           string.IsNullOrEmpty(request.UserId)?null : request.UserId, request.Time?.ToDateTime());

            return(HandleResult(result));
        }
예제 #2
0
        public async Task StarboardClient_GetRandom_ToEntryThatDoesNotExist_ReturnsNull()
        {
            // arrange
            var          channel = GetChannel();
            var          client  = new Starboard.StarboardClient(channel);
            const string guildId = "1";

            var query = new StarboardGetRandomQuery
            {
                GuildId = guildId
            };

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

            // assert
            Assert.AreEqual(Status.Success, result.Status, "GetRandomAsync() failed.");
            Assert.AreEqual(null, result.Entry);
        }