Example #1
0
        public async Task CreatorNotInVisibilityList()
        {
            var testDB = DbHelper.GetEmptyTestDB();

            var creatorId = await UserHelper.CreateInDbAsync(testDB);

            var otherUser = await UserHelper.CreateInDbAsync(testDB);

            var languageId = await CardLanguagHelper.CreateAsync(testDB);

            Guid cardGuid = Guid.Empty;

            using var dbContext = new MemCheckDbContext(testDB);
            var request = new CreateCard.Request(
                creatorId,
                RandomHelper.String(),
                Array.Empty <Guid>(),
                RandomHelper.String(),
                Array.Empty <Guid>(),
                RandomHelper.String(),
                Array.Empty <Guid>(),
                languageId,
                Array.Empty <Guid>(),
                new Guid[] { otherUser },
                RandomHelper.String());
            var ownerMustHaveVisibility = RandomHelper.String();
            var localizer = new TestLocalizer(new KeyValuePair <string, string>("OwnerMustHaveVisibility", ownerMustHaveVisibility).AsArray());
            var exception = await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await new CreateCard(dbContext.AsCallContext(localizer)).RunAsync(request));

            Assert.AreEqual(ownerMustHaveVisibility, exception.Message);
        }
Example #2
0
        public async Task Success()
        {
            var db   = DbHelper.GetEmptyTestDB();
            var user = await UserHelper.CreateInDbAsync(db);

            var name        = RandomHelper.String();
            var description = RandomHelper.String();
            var source      = RandomHelper.String();
            var uploadDate  = RandomHelper.Date();
            var versionDesc = RandomHelper.String();

            using (var dbContext = new MemCheckDbContext(db))
            {
                var request   = new StoreImage.Request(user, name, description, source, StoreImage.pngImageContentType, pngImage);
                var localizer = new TestLocalizer(new KeyValuePair <string, string>("InitialImageVersionCreation", versionDesc).AsArray());
                await new StoreImage(dbContext.AsCallContext(localizer), uploadDate).RunAsync(request);
            }

            using (var dbContext = new MemCheckDbContext(db))
            {
                var image = await dbContext.Images.Include(img => img.Owner).Include(img => img.Cards).SingleAsync();

                Assert.AreEqual(user, image.Owner.Id);
                Assert.AreEqual(name, image.Name);
                Assert.AreEqual(description, image.Description);
                Assert.AreEqual(source, image.Source);
                Assert.AreEqual(uploadDate, image.InitialUploadUtcDate);
                Assert.AreEqual(uploadDate, image.LastChangeUtcDate);
                Assert.AreEqual(versionDesc, image.VersionDescription);
                Assert.AreEqual(ImageVersionType.Creation, image.VersionType);
                Assert.AreEqual(StoreImage.pngImageContentType, image.OriginalContentType);
                Assert.AreEqual(pngImage.Length, image.OriginalSize);
                Assert.IsTrue(pngImage.SequenceEqual(image.OriginalBlob));
                Assert.IsTrue(image.SmallBlobSize > 0);
                Assert.AreEqual(image.SmallBlobSize, image.SmallBlob.Length);
                Assert.IsTrue(image.MediumBlobSize > 0);
                Assert.AreEqual(image.MediumBlobSize, image.MediumBlob.Length);
                Assert.IsTrue(image.BigBlobSize > 0);
                Assert.AreEqual(image.BigBlobSize, image.BigBlob.Length);
                Assert.IsFalse(image.Cards.Any());
                Assert.IsNull(image.PreviousVersion);
            }
        }
Example #3
0
 public static CallContext AsCallContext(this MemCheckDbContext dbContext, TestLocalizer testLocalizer)
 {
     return(new CallContext(dbContext, new FakeMemCheckTelemetryClient(), testLocalizer, new TestRoleChecker()));
 }