Example #1
0
        public async Task WhenRunTwice_AndUpdatingOneTimestamp_ItShouldBeIdempotent()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new UpdateUserTimeStampsDbStatement(testDatabase);

                await this.CreateUserAsync(testDatabase);
                await this.target.UpdateAccessTokenAsync(UserId, TimeStamp);
                await testDatabase.TakeSnapshotAsync();
                await this.target.UpdateAccessTokenAsync(UserId, TimeStamp);

                return(ExpectedSideEffects.None);
            });
        }
Example #2
0
        public async Task WhenTheUserIdIsInvalid_AndUpdatingBothTimestamps_ItShouldNotUpdateTheDatabase()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new UpdateUserTimeStampsDbStatement(testDatabase);

                await this.CreateUserAsync(testDatabase);
                await testDatabase.TakeSnapshotAsync();

                await this.target.UpdateSignInAndAccessTokenAsync(new UserId(Guid.NewGuid()), TimeStamp);

                return(ExpectedSideEffects.None);
            });
        }
Example #3
0
        public async Task WhenTheUserIdIsValid_AndUpdatingOneTimestamp_ItShouldUpdateTheDatabase()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new UpdateUserTimeStampsDbStatement(testDatabase);

                await this.CreateUserAsync(testDatabase);
                await testDatabase.TakeSnapshotAsync();

                var expectedUser = await this.GetUserAsync(testDatabase);
                expectedUser.LastAccessTokenDate = TimeStamp;

                await this.target.UpdateAccessTokenAsync(UserId, TimeStamp);

                return(new ExpectedSideEffects
                {
                    Update = expectedUser
                });
            });
        }
Example #4
0
 public void TestInitialize()
 {
     this.connectionFactory = new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict);
     this.target            = new UpdateUserTimeStampsDbStatement(this.connectionFactory.Object);
 }