public async Task UpdateItemAsync_WithItemNotFromDb_ReturnsRetrievedItemEmpty()
        {
            var item = ItemsCreator
                       .CreateItem(id: "00000000-0000-0000-0000-000000000007", text: "different text");

            _getItemService.GetItemAsync(item.Id).Returns(Task.FromResult(RetrievedItem <Item> .Empty));

            var result = await _updateItemService.UpdateItemAsync(item);

            Assert.That(result, Is.EqualTo(RetrievedItem <Item> .Empty));
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> GetItemAsync(Guid id)
        {
            ValidateNonEmptyId(id);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await _getItemService.GetItemAsync(id);

            if (!result.WasFound)
            {
                return(NotFound());
            }

            return(Ok(result.Item));
        }
Esempio n. 3
0
        public async Task <RetrievedItem <Item> > UpdateItemAsync(Item item)
        {
            var retrievedItem = await _getItemService.GetItemAsync(item.Id);

            if (!retrievedItem.WasFound)
            {
                return(retrievedItem);
            }

            var updatedItem = CreateUpdatedItem(existingItem: retrievedItem.Item, newItem: item);
            var result      = await _repository.UpdateItemAsync(updatedItem);

            return(result == null
                ? RetrievedItem <Item> .Empty
                : new RetrievedItem <Item>(result));
        }