Esempio n. 1
0
        public async Task ShouldUploadFilesCommandThrowsMaximumSizeExceedsExceptionWhenUnsupportedImageUploaded()
        {
            // Arrange
            var uploadDate      = new DateTime(2021, 5, 6);
            var fileSizeSetting = new UploadSetting(UploadSettingKeys.MaxAllowedSingleFileSizeInBytes, "1");
            var uploadSettings  = new List <UploadSetting> {
                fileSizeSetting
            };
            var simpleFiles         = new List <SimpleFile>();
            var filesDbSet          = TestHelpers.CreateMockDbSet(simpleFiles);
            var uploadSettingsDbSet = TestHelpers.CreateMockDbSet(uploadSettings);

            var dbContextMock = new Mock <IApplicationDbContext>();

            dbContextMock.Setup(x => x.SimpleFiles).Returns(filesDbSet);
            dbContextMock.Setup(x => x.UploadSettings).Returns(uploadSettingsDbSet);

            var handler =
                new UploadFilesCommandHandler(dbContextMock.Object, TestHelpers.CreateDateTimeProvider(uploadDate));
            var query = new UploadFilesCommand
            {
                Files = new List <UploadFileDto>
                {
                    new("", "", new byte[5])
                }
            };

            //Act
            //Assert
            await Should.ThrowAsync <MaximumSizeExceedsException>(handler.Handle(query, CancellationToken.None));
        }
Esempio n. 2
0
        public async Task ShouldUploadFilesCommandSuccessWhenMultipleValidImageGiven()
        {
            // Arrange
            var uploadDate       = new DateTime(2021, 5, 6);
            var mediaTypeSetting = new UploadSetting(UploadSettingKeys.AllowedContentTypes, "image/jpeg,image/png");
            var fileSizeSetting  = new UploadSetting(UploadSettingKeys.MaxAllowedSingleFileSizeInBytes, "5");
            var uploadSettings   = new List <UploadSetting> {
                mediaTypeSetting, fileSizeSetting
            };
            var simpleFiles         = new List <SimpleFile>();
            var filesDbSet          = TestHelpers.CreateMockDbSet(simpleFiles);
            var uploadSettingsDbSet = TestHelpers.CreateMockDbSet(uploadSettings);

            var dbContextMock = new Mock <IApplicationDbContext>();

            dbContextMock.Setup(x => x.SimpleFiles).Returns(filesDbSet);
            dbContextMock.Setup(x => x.UploadSettings).Returns(uploadSettingsDbSet);

            var handler =
                new UploadFilesCommandHandler(dbContextMock.Object, TestHelpers.CreateDateTimeProvider(uploadDate));
            var query = new UploadFilesCommand
            {
                Files = new List <UploadFileDto>
                {
                    new("", "image/jpeg", new byte[5]),
                    new("", "image/png", new byte[3]),
                    new("", "image/jpeg", new byte[1])
                }
            };

            // Act
            await handler.Handle(query, CancellationToken.None);

            // Assert
            dbContextMock.Verify(x => x.SimpleFiles.AddAsync(It.IsAny <SimpleFile>(), It.IsAny <CancellationToken>()),
                                 Times.Exactly(query.Files.Count));
            filesDbSet.Count().ShouldBe(query.Files.Count);
        }