public ActionResult <TranslationItemDto> CreateTranslationItem([FromBody] TranslationItemDto dto, string language) { var duplicateTranslationItemExist = _context.TranslationItems .Any(x => x.Key == dto.Key); if (duplicateTranslationItemExist) { ModelState.AddModelError(nameof(TranslationItemDto.Key), $"{nameof(TranslationItemDto.Key)} is Duplicate."); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var translationItem = TranslationItemDto.Deconstruct(dto); translationItem.Language = language; _context.TranslationItems.Add(translationItem); _context.SaveChanges(); dto = TranslationItemDto.Construct(translationItem); return(Created($"api/{language}/translationItems/{translationItem.Key}", dto)); }
public void UserIsReturned() { var expectedDto = TranslationItemDto.Construct(_translationItem); var result = (OkObjectResult)controller.GetTranslationItem(currentLanguage, _translationItem.Key).Result; result.Value.Should().BeEquivalentTo(expectedDto); }
public void TranslationItemIsReturned() { var result = (CreatedResult)controller.CreateTranslationItem(dto, currentLanguage).Result; var persistedTranslationItem = context.TranslationItems.FirstOrDefault(); var expectedDto = TranslationItemDto.Construct(persistedTranslationItem); result.Value.Should().BeEquivalentTo(expectedDto); }
public ActionResult <TranslationItemDto> GetTranslationItem(string language, string key) { var translationItem = _context.TranslationItems .FirstOrDefault(m => m.Key == key && m.Language == language); if (translationItem == null) { return(NotFound()); } return(Ok(TranslationItemDto.Construct(translationItem))); }
public void TranslationItemIsPersisted() { var expectedTranslationItem = TranslationItemDto.Deconstruct(dto); expectedTranslationItem.Language = currentLanguage; controller.CreateTranslationItem(dto, currentLanguage); var persistedTranslationItem = context.TranslationItems.FirstOrDefault(); persistedTranslationItem.Should().BeEquivalentTo(expectedTranslationItem); }
public CreateTranslationItemTests() { dto = fixture.Create <TranslationItemDto>(); }