public async Task AddDeck_Adds_And_Returns_New_Deck() { //Arrange DeckRequest newDeckRequest = new DeckRequest() { Name = "ASP.NET Core" }; var mockRepository = new Mock <IFlashcardDataRepository>(); mockRepository.Setup(x => x.AddDeck(newDeckRequest.Name)).Returns((string deckName) => { Deck deck = new Deck { Id = GetFakeDecks().Count + 1, Name = deckName }; return(Task.FromResult <Deck>(deck)); }); DecksController decksController = new DecksController(mockRepository.Object, iMapper); //Act var result = await decksController.AddDeck(newDeckRequest); //Assert var okObjectResult = Assert.IsType <CreatedAtActionResult>(result); var returnDeck = Assert.IsType <DeckResponseDto>(okObjectResult.Value); Assert.Equal("ASP.NET Core", returnDeck.Name); Assert.IsType <int>(returnDeck.Id); Assert.True(returnDeck.Id > 0); }
public async Task <IActionResult> AddDeck([FromBody] DeckRequest deckRequest) { Deck _newDeck = await _flashcardDataRepository.AddDeck(deckRequest.Name); DeckResponseDto _deckResponseDto = _mapper.Map <DeckResponseDto>(_newDeck); return(CreatedAtAction(nameof(GetDeckById), new { id = _deckResponseDto.Id }, _deckResponseDto)); }
public ActionResult Post([FromBody] DeckRequest deckRequest) { if (deckCollection.ContainsKey(deckRequest.Name)) { return(Conflict()); } Deck deck = new Deck(deckRequest.Name, deckRequest.Quantity); deck.FillTheDeck(); if (deck.CardsInDeck == null) { return(Conflict()); } deckCollection.Add(deckRequest.Name, deck); return(Ok()); }