예제 #1
0
        public async Task TestC_UserDoNotOwnFlashcard()
        {
            var mocker = new MockDataV5();

            mocker.Reset();

            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k");

            var insertDTO = new FlashcardUpdateModel()
            {
                Id      = Guid.Parse("691de3f1-8117-465f-b8d9-7cfcefc372fe"),
                Foreign = "foreign new",
                Native  = "native new"
            };

            var response = await _client.PutAsync("api/flashcard/update", new StringContent(JsonConvert.SerializeObject(insertDTO), Encoding.UTF8, "application/json"));

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);

            using (var db = MockDatabaseFactory.Build())
            {
                Assert.Equal("Foreign 4", (await db.Flashcards.FirstOrDefaultAsync(e => e.Id == Guid.Parse("691de3f1-8117-465f-b8d9-7cfcefc372fe"))).Foreign);
                Assert.Equal("Native 4", (await db.Flashcards.FirstOrDefaultAsync(e => e.Id == Guid.Parse("691de3f1-8117-465f-b8d9-7cfcefc372fe"))).Native);
            }
        }
예제 #2
0
        public async Task <IActionResult> UpdateFlashcard([FromBody] FlashcardUpdateModel flashcard)
        {
            var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;

            if (String.IsNullOrEmpty(userId))
            {
                return(NotFound());
            }

            var updateFlashcardC = new UpdateFlashcardC(flashcard, userId);

            var actionResponse = await _mediator.Send(updateFlashcardC);

            if (actionResponse.IsSucceed)
            {
                return(Ok());
            }

            return(BadRequest(actionResponse.Message));
        }
예제 #3
0
 public UpdateFlashcardC(FlashcardUpdateModel flashcard, string userId)
 {
     Flashcard = flashcard;
     UserId    = userId;
 }