Esempio n. 1
0
        public async Task WhenAddingANewFileWithLongFilename_ItShouldTruncateAndUpdateTheDatabase()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new AddNewFileDbStatement(testDatabase);
                await this.CreateUserAsync(testDatabase);
                await testDatabase.TakeSnapshotAsync();

                await this.target.ExecuteAsync(FileId, UserId, ChannelId, LongFileNameWithoutExtension, LongFileExtension, Purpose, TimeStamp);

                var expectedFile = new File(
                    FileId.Value,
                    UserId.Value,
                    ChannelId.Value,
                    FileState.WaitingForUpload,
                    TimeStamp,
                    null,
                    null,
                    null,
                    null,
                    LongFileNameWithoutExtension.Substring(0, File.MaximumFileNameLength),
                    LongFileExtension.Substring(0, File.MaximumFileExtensionLength),
                    0,
                    Purpose,
                    null,
                    null);

                return(new ExpectedSideEffects
                {
                    Insert = expectedFile
                });
            });
        }
Esempio n. 2
0
        public async Task WhenAddingANewFileTwice_ItShouldHaveNoEffect()
        {
            await this.DatabaseTestAsync(async testDatabase =>
            {
                this.target = new AddNewFileDbStatement(testDatabase);
                await this.CreateUserAsync(testDatabase);
                await this.target.ExecuteAsync(FileId, UserId, ChannelId, FileNameWithoutExtension, FileExtension, Purpose, TimeStamp);
                await testDatabase.TakeSnapshotAsync();

                await target.ExecuteAsync(FileId, UserId, ChannelId, FileNameWithoutExtension, FileExtension, Purpose, TimeStamp);

                return(ExpectedSideEffects.None);
            });
        }
Esempio n. 3
0
 public void Initialize()
 {
     this.target = new AddNewFileDbStatement(new Mock <IFifthweekDbConnectionFactory>(MockBehavior.Strict).Object);
 }