コード例 #1
0
        public async Task AddKudosLog_UserIsNotAdminAndTotalPointsIsNotNull_AddKudosLogInvoked()
        {
            // Arrange
            const int explicitAmount = 123456;
            var       request        = new AddKudosLogViewModel
            {
                TotalPointsPerReceiver = explicitAmount
            };

            var mappedRequest = new AddKudosLogDto();

            _mapper.Map <AddKudosLogViewModel, AddKudosLogDto>(request).Returns(mappedRequest);
            _permissionService.UserHasPermissionAsync(Arg.Any <UserAndOrganizationDto>(), AdministrationPermissions.Kudos)
            .Returns(false);

            // Act
            var response = await _kudosController.AddKudosLog(request);

            var result = await response.ExecuteAsync(CancellationToken.None);

            // Assert
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);
            await _kudosService.DidNotReceive().AddKudosLogAsync(mappedRequest, explicitAmount);

            await _kudosService.Received(1).AddKudosLogAsync(mappedRequest);
        }
コード例 #2
0
ファイル: KudosController.cs プロジェクト: nevaldas/simoona
        public IHttpActionResult AddKudosLog(AddKudosLogViewModel kudosLog)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(Resources.Models.Kudos.Kudos.KudosifyModalError));
            }

            var kudosLogDto = _mapper.Map <AddKudosLogViewModel, AddKudosLogDTO>(kudosLog);

            SetOrganizationAndUser(kudosLogDto);
            try
            {
                if (kudosLog.TotalPointsPerReceiver.HasValue &&
                    _permissionService.UserHasPermission(GetUserAndOrganization(), AdministrationPermissions.Kudos))
                {
                    _kudosService.AddKudosLog(kudosLogDto, kudosLog.TotalPointsPerReceiver.Value);
                }
                else
                {
                    _kudosService.AddKudosLog(kudosLogDto);
                }

                return(Ok());
            }
            catch (UnauthorizedException) { return(Unauthorized()); }
            catch (ValidationException e) { return(BadRequestWithError(e)); }
        }