public async Task <IActionResult> Delete([FromQuery] long id) { var user = await GetCurrentUserAsync(); if (user != null) { var command = new DeleteDeckCommand { Deck = new DeckInputModel { Id = id, UserId = user.Id } }; var result = await _mediator.Send(command); if (result.IsSuccessful) { return(Ok(new { id = result.Data })); } return(BadRequest(result.Errors)); } return(BadRequest()); }
public async Task Given_A_Deck_If_User_Is_Not_Owner_Should_Return_Errors() { // Arrange var deck = new DeckInputModel { MainDeck = new List <CardInputModel>() }; var command = new DeleteDeckCommand { Deck = deck }; _userService.IsUserDeckOwner(Arg.Any <string>(), Arg.Any <long>()).Returns(false); // Act var result = await _sut.Handle(command, CancellationToken.None); // Assert result.Errors.Should().NotBeEmpty(); }
public async Task Given_A_Deck_If_User_Is_Not_Owner_Should_Not_Invoke_DeleteDeckByIdAndUserId() { // Arrange var deck = new DeckInputModel { MainDeck = new List <CardInputModel>() }; var command = new DeleteDeckCommand { Deck = deck }; _userService.IsUserDeckOwner(Arg.Any <string>(), Arg.Any <long>()).Returns(false); // Act await _sut.Handle(command, CancellationToken.None); // Assert await _deckService.DidNotReceive().DeleteDeckByIdAndUserId(Arg.Any <string>(), Arg.Any <long>()); }