public async Task WhenRefreshTokenIsValidAndNew_ItShouldBeIdempotent()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new UpsertRefreshTokenDbStatement(testDatabase);

                await this.target.ExecuteAsync(RefreshToken);

                await testDatabase.TakeSnapshotAsync();

                await this.target.ExecuteAsync(RefreshToken);

                return(ExpectedSideEffects.None);
            });
        }
        public async Task WhenRefreshTokenIsValidAndNew_ItShouldInsertARecordInTheDatabase()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new UpsertRefreshTokenDbStatement(testDatabase);

                await testDatabase.TakeSnapshotAsync();

                await this.target.ExecuteAsync(RefreshToken);

                return(new ExpectedSideEffects
                {
                    Insert = RefreshToken
                });
            });
        }
 public void TestInitialize()
 {
     this.connectionFactory = new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict);
     this.target            = new UpsertRefreshTokenDbStatement(this.connectionFactory.Object);
 }