コード例 #1
0
        public async Task <IActionResult> HadBrew([FromBody] UserHadBrewModel model)
        {
            var user = await _dataStore.GetAsync <User>(model.Id);

            if (user == null)
            {
                return(ReturnError(StatusCodes.Status404NotFound, "Invalid HadBrew Request", $"User {model.Id} not found"));
            }

            if (model.Id.ToString() != User.GetUserId())
            {
                return(ReturnError(StatusCodes.Status403Forbidden, "Invalid HadBrew Request", "Logged in user cant update that round"));
            }

            var historyEntry = user.UpdateBrewCount();

            if (historyEntry != null)
            {
                await _dataStore.CreateAsync(historyEntry);
            }

            user = await _dataStore.UpdateAsync(user);

            return(Ok(user));
        }
コード例 #2
0
        public async Task AddBrewToUser()
        {
            var hadBrewModel = new UserHadBrewModel
            {
                Id = TestAuthUserId
            };

            var updatebrewCountResponse = await PostAndAssert($"{RootApiPath}/hadbrew", hadBrewModel, _httpClient, true);

            var user = JsonConvert.DeserializeObject <User>(updatebrewCountResponse);

            Assert.NotNull(user?.SimpleId);
            Assert.Equal(TestAuthUserId, user.Id);
            Assert.True(user.CurrentDayCount > 1);
        }