コード例 #1
0
        public async Task TestRemoveStory_Deleted()
        {
            //Arrange
            string   userId         = "akash";
            DBStatus expectedStatus = DBStatus.Deleted;
            Guid     storyId        = Guid.NewGuid();

            storiesRepository.Setup(x => x.RemoveStoryAsync(storyId, userId)).ReturnsAsync(expectedStatus);

            //Act
            DBStatus actualStatus = await storiesService.RemoveStoryAsync(storyId, userId);

            //Assert
            Assert.Equal(expectedStatus, actualStatus);
        }
コード例 #2
0
        public async Task <IActionResult> RemoveStory([Required] Guid storyId)
        {
            string   userId = HttpContext.User.Claims.FirstOrDefault(c => c.Type == System.Security.Claims.ClaimTypes.Sid).Value;
            DBStatus status = await storiesService.RemoveStoryAsync(storyId, userId);

            ResponseStatusDTO responseStatusDTO = new ResponseStatusDTO((int)status, status.ToString());

            if (status == DBStatus.NotFound)
            {
                return(NotFound());
            }
            else if (status == DBStatus.Forbidden)
            {
                return(StatusCode(StatusCodes.Status403Forbidden));
            }
            else if (status == DBStatus.NotDeleted)
            {
                return(BadRequest(new BadResponseDTO {
                    Status = (int)status, Errors = new Errors {
                        Message = new List <string> {
                            status.ToString()
                        }
                    }
                }));
            }
            else
            {
                return(Ok(responseStatusDTO));
            }
        }