コード例 #1
0
            public void SendsAndReceives()
            {
                IClient client = CreateClient();

                _runtime.ReadResponse().Returns(GetOkResponse(new StatsResponse(42)));

                StatsRequest request = new StatsRequest();

                client.Stats(request);

                _runtime.Received().WriteRequest(Arg.Is <string>(
                                                     actual => PlatformIndependentEqual(JsonConvert.SerializeObject(request), actual)
                                                     ));
                _runtime.Received().ReadResponse();
            }
コード例 #2
0
        public async Task <IActionResult> Post(StatsRequest request)
        {
            try
            {
                var stats = _mapper.Map <Stats>(request);

                await unitOfWork_.Stats.Add(stats);

                await unitOfWork_.CompleteAsync();
            }
            catch
            {
                return(BadRequest(new { message = "Player already exsist" }));
            }

            return(Ok(request));
        }
コード例 #3
0
        /// <summary>
        /// Get the <see cref="GeneralStats"/> (non-seasonal) for an array of <see cref="AccountInfo"/>s
        /// </summary>
        public static ILookup <string, GeneralStats> GetStats <T>(this T client, IEnumerable <AccountInfo> accounts, CancellationToken token = default) where T : Dragon6Client
        {
            var     filteredGroups = accounts.GroupBy(x => x.Platform);
            JObject data           = null;

            foreach (var group in filteredGroups)
            {
                var request          = new StatsRequest(group);
                var platformResponse = client.Perform <JObject>(request, token);

                if (data == null)
                {
                    data = platformResponse;
                }
                else
                {
                    data.Merge(platformResponse);
                }
            }

            return(data.DeserializeGeneralStats());
        }
コード例 #4
0
            public async void Should_return_Throw_and_return_BadRequest_with_created_Stats()
            {
                //Arrange
                var expectedResult = new Stats()
                {
                    Time = 30
                };

                var finalResult = new StatsRequest()
                {
                    Time = 30
                };

                StatsRepository
                .Setup(l => l.Add(expectedResult)).Throws(new Exception());


                UnitofWorkMock
                .Setup(m => m.Stats)
                .Returns(StatsRepository.Object);

                MapperMock
                .Setup(m => m.Map <Stats>(finalResult))
                .Returns(expectedResult);

                //Act
                var result = await _uut.Post(finalResult);

                //Assert
                StatsRepository.VerifyAll();
                MapperMock.Verify();

                var ErrorResult = Assert.IsType <BadRequestObjectResult>(result);

                Assert.Equal(400, ErrorResult.StatusCode);
            }
コード例 #5
0
            public async void Should_return_CreatedAtActionResult_with_created_Stats()
            {
                //Arrange
                var expectedResult = new Stats()
                {
                    Time = 30
                };

                var finalResult = new StatsRequest()
                {
                    Time = 30
                };

                StatsRepository
                .Setup(l => l.Add(expectedResult)).Verifiable();


                UnitofWorkMock
                .Setup(m => m.Stats)
                .Returns(StatsRepository.Object);

                MapperMock
                .Setup(m => m.Map <Stats>(finalResult))
                .Returns(expectedResult);

                //Act
                var result = await _uut.Post(finalResult);

                //Assert
                StatsRepository.VerifyAll();
                MapperMock.VerifyAll();

                var response = Assert.IsType <OkObjectResult>(result);

                Assert.Same(finalResult, response.Value);
            }
コード例 #6
0
 public StatsResponse Stats(StatsRequest request)
 {
     return(Send <StatsRequest, StatsResponse>(request));
 }