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); }
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); } }
public static CallContext AsCallContext(this MemCheckDbContext dbContext, TestLocalizer testLocalizer) { return(new CallContext(dbContext, new FakeMemCheckTelemetryClient(), testLocalizer, new TestRoleChecker())); }