public async Task AddItemAsync_validText_returnsNewItemWithIdAndCorrectProperties()
        {
            var id           = Guid.NewGuid();
            var text         = "text of new item";
            var expectedItem = new Item
            {
                Id   = id,
                Text = text,
            };
            Item storedItem = null;

            _identifierService.GenerateIdAsync().Returns(id);
            _itemsRepository.AddAsync(Arg.Do <Item>(item => { storedItem = item; })).Returns(Task.CompletedTask);

            var newItem = await _itemsService.AddItemAsync(expectedItem);

            Assert.That(storedItem, Is.EqualTo(expectedItem).UsingItemComparer());
            Assert.That(newItem, Is.EqualTo(expectedItem).UsingItemComparer());
        }