public async Task ShouldRemoveTheRedeemedCodeAndReturnTrue()
        {
            // Arrange
            var userStore     = CreateUserStore();
            var user          = (DocumentDbIdentityUser)DocumentDbIdentityUserBuilder.Create();
            var codeToRedeem  = Guid.NewGuid().ToString();
            var expectedCode1 = Guid.NewGuid().ToString();
            var expectedCode2 = Guid.NewGuid().ToString();

            user.RecoveryCodes = new string[] { expectedCode1, codeToRedeem, expectedCode2 };

            // Act
            var result = await userStore.RedeemCodeAsync(user, codeToRedeem, CancellationToken.None);

            // Assert
            Assert.True(result);
            Assert.Collection(user.RecoveryCodes,
                              code => Assert.Equal(expectedCode1, code),
                              code => Assert.Equal(expectedCode2, code)
                              );
        }