예제 #1
0
        public async Task WhenGettingANonExistantFileWaitingForUpload_ItShouldThrowAnException()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new GetFileWaitingForUploadDbStatement(testDatabase);

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

                await this.target.ExecuteAsync(new FileId(Guid.NewGuid()));
                return(ExpectedSideEffects.None);
            });
        }
예제 #2
0
        public async Task WhenGettingFileWaitingForUpload_ItShouldBeIdempotent()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new GetFileWaitingForUploadDbStatement(testDatabase);

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

                await this.target.ExecuteAsync(FileId);
                await testDatabase.TakeSnapshotAsync();

                await this.target.ExecuteAsync(FileId);

                return(ExpectedSideEffects.None);
            });
        }
예제 #3
0
        public async Task WhenGettingFileWaitingForUpload_ItShouldReturnTheFile()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new GetFileWaitingForUploadDbStatement(testDatabase);

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

                var result = await this.target.ExecuteAsync(FileId);

                Assert.AreEqual(FileId, result.FileId);
                Assert.AreEqual(UserId, result.UserId);
                Assert.AreEqual(FileNameWithoutExtension, result.FileNameWithoutExtension);
                Assert.AreEqual(FileExtension, result.FileExtension);
                Assert.AreEqual(Purpose, result.Purpose);

                return(ExpectedSideEffects.None);
            });
        }
예제 #4
0
 public void Initialize()
 {
     this.target = new GetFileWaitingForUploadDbStatement(new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict).Object);
 }