Esempio n. 1
0
        public async System.Threading.Tasks.Task TestGetAllMatchEventsForUserId()
        {
            // Assemble
            var newMatchEvent = new Ianf.Gametracker.Services.Dto.MatchEvent()
            {
                UserId         = 1234,
                MatchId        = 22,
                EventTime      = DateTime.Now,
                MatchEventType = Services.MatchEventType.Conversion
            };
            var url     = $"{_baseUrl}/MatchEvent";
            var body    = JsonConvert.SerializeObject(newMatchEvent);
            var content = new StringContent(body,
                                            Encoding.UTF8,
                                            "application/json");
            var result = await _client.PostAsync(url, content);

            result.EnsureSuccessStatusCode();
            result = await _client.PostAsync(url, content);

            result.EnsureSuccessStatusCode();

            // Act
            url    = $"{_baseUrl}/MatchEvent/1234/22";
            result = await _client.GetAsync(url);

            // Assert
            result.EnsureSuccessStatusCode();
            var resultContent = await result.Content.ReadAsStringAsync();

            var matchEvents = JsonConvert.DeserializeObject <List <Ianf.Gametracker.Services.Dto.MatchEvent> >(resultContent);
        }
Esempio n. 2
0
        public async System.Threading.Tasks.Task TestAddNewMatchEventAsync()
        {
            // Assemble
            var newMatchEvent = new Ianf.Gametracker.Services.Dto.MatchEvent()
            {
                UserId         = 1234,
                MatchId        = 22,
                EventTime      = DateTime.Now,
                MatchEventType = Services.MatchEventType.Conversion
            };
            var url     = $"{_baseUrl}/MatchEvent";
            var body    = JsonConvert.SerializeObject(newMatchEvent);
            var content = new StringContent(body,
                                            Encoding.UTF8,
                                            "application/json");

            // Act
            var result = await _client.PostAsync(url, content);

            // Assert
            result.EnsureSuccessStatusCode();
            var resultContent = await result.Content.ReadAsStringAsync();

            var resultOne = Int32.Parse(resultContent);

            // Repeat to determine new id is generated
            result = await _client.PostAsync(url, content);

            result.EnsureSuccessStatusCode();
            resultContent = await result.Content.ReadAsStringAsync();

            var resultTwo = Int32.Parse(resultContent);

            Assert.NotEqual(resultOne, resultTwo);
        }
        public async Task <ActionResult <int> > AddNewMatchEventAsync(Ianf.Gametracker.Services.Dto.MatchEvent matchEvent)
        {
            var result = await _matchEventService.AddNewMatchEventAsync(matchEvent);

            ActionResult <int> returnValue = Ok();

            return(result.Match(
                       Left: (err) => returnValue = BadRequest(err),
                       Right: (newMatchEventId) => returnValue = Ok(newMatchEventId)
                       ));
        }
Esempio n. 4
0
        public async System.Threading.Tasks.Task TestAddNewMatchEventAsyncInvalidUserId()
        {
            // Assemble
            var newMatchEvent = new Ianf.Gametracker.Services.Dto.MatchEvent()
            {
                UserId         = -1234,
                MatchId        = 22,
                EventTime      = DateTime.Now,
                MatchEventType = Services.MatchEventType.Conversion
            };
            var url     = $"{_baseUrl}/MatchEvent";
            var body    = JsonConvert.SerializeObject(newMatchEvent);
            var content = new StringContent(body,
                                            Encoding.UTF8,
                                            "application/json");

            // Act
            var result = await _client.PostAsync(url, content);

            // Assert
            Assert.Equal(HttpStatusCode.BadRequest, result.StatusCode);
        }