public async Task Update_NotExisting()
        {
            IJsonRepository <Person, int> store = GetStore(_options);
            var notExistingItem = new Person {
                Id = 999, FullName = "Nobody"
            };

            await Assert.ThrowsAsync <ItemNotFoundException>(async() => await store.UpdateAsync(notExistingItem));
        }
        public async Task Update_Success()
        {
            IJsonRepository <Person, int> store = GetStore(_options);
            var person = Constants.GetPerson();

            person.FullName = Guid.NewGuid().ToString();

            await store.UpdateAsync(person);

            await store.SaveChangesAsync();

            // reloads the item
            IJsonRepository <Person, int> newStore = GetStore(_options);
            var newPerson = await newStore.GetByIdAsync(person.Id);

            Assert.Equal(person, newPerson);
        }