public void CreateDeckAndDeleteDeck() { //-- Arrange var newDeck = new DeckForCreationDto { Name = "test deck" }; //-- Act var response = _decks.CreateDeck(newDeck, jsonMediaType).Result as CreatedAtRouteResult; var newDeckId = (int)response.RouteValues["deckId"]; var createdDeck = _flashCardRepository.GetDeck(newDeckId); //-- Assert Assert.IsNotNull(response); Assert.AreEqual("test deck", createdDeck.Name); /*--------- delete the deck ------------*/ //-- Act _decks.DeleteDeck(newDeckId); var getResponse = _decks.GetDecks(jsonMediaType).Result as OkObjectResult; var getResult = getResponse.Value as IEnumerable <DeckDto>; //-- Assert Assert.AreEqual(3, getResult.Count()); }
public ActionResult <DeckDto> CreateDeck(DeckForCreationDto deck, [FromHeader(Name = "Accept")] string mediaType) { if (!MediaTypeHeaderValue.TryParse(mediaType, out MediaTypeHeaderValue parsedMediaType)) { return(BadRequest()); } var includeLinks = parsedMediaType.SubTypeWithoutSuffix .EndsWith("hateoas", StringComparison.InvariantCultureIgnoreCase); var deckEntity = _mapper.Map <Entities.Deck>(deck); _flashCardRepository.AddDeck(deckEntity); _flashCardRepository.Save(); var deckToReturn = _mapper.Map <DeckDto>(deckEntity); if (!includeLinks) { return(CreatedAtRoute(nameof(GetDeck), new { deckId = deckToReturn.Id }, deckToReturn)); } var links = CreateLinksForDeck(deckToReturn.Id); var deckWithLinks = new DeckDtoWithLinks(deckToReturn, links); return(CreatedAtRoute(nameof(GetDeck), new { deckId = deckToReturn.Id }, deckWithLinks)); }
public void CreateDeckWithCards() { //-- Arrange var newDeck = new DeckForCreationDto { Name = "test deck", Cards = new List <CardForCreationDto>() { new CardForCreationDto { Title = "card1", Description = "card1-description" }, new CardForCreationDto { Title = "card2", Description = "card2-description" }, new CardForCreationDto { Title = "card3", Description = "card3-description" } } }; //-- Act var response = _decks.CreateDeck(newDeck, jsonMediaType).Result as CreatedAtRouteResult; //-- Assert Assert.IsNotNull(response); // check if the right deck was created //-- Arrange var newDeckId = (int)response.RouteValues["deckId"]; var createdDeck = _flashCardRepository.GetDeck(newDeckId); Assert.AreEqual("test deck", createdDeck.Name); Assert.AreEqual(3, createdDeck.Cards.Count()); // delete the deck //-- Act _decks.DeleteDeck(newDeckId); }