public void TestListByModerationUpdate()
{
// should support listing by moderation kind and value
List<ImageUploadResult> uploadResults = new List<ImageUploadResult>();
for (int i = 0; i < 3; i++)
{
uploadResults.Add(m_cloudinary.Upload(new ImageUploadParams()
{
File = new FileDescription(m_testImagePath),
Moderation = "manual"
}));
}
m_cloudinary.UpdateResource(uploadResults[0].PublicId, ModerationStatus.Approved);
m_cloudinary.UpdateResource(uploadResults[1].PublicId, ModerationStatus.Rejected);
var requestParams = new ListResourcesByModerationParams()
{
MaxResults = 500,
ModerationKind = "manual",
};
requestParams.ModerationStatus = ModerationStatus.Approved;
var approved = m_cloudinary.ListResources(requestParams);
requestParams.ModerationStatus = ModerationStatus.Rejected;
var rejected = m_cloudinary.ListResources(requestParams);
requestParams.ModerationStatus = ModerationStatus.Pending;
var pending = m_cloudinary.ListResources(requestParams);
Assert.True(approved.Resources.Where(r => r.PublicId == uploadResults[0].PublicId).Count() > 0);
Assert.True(approved.Resources.Where(r => r.PublicId == uploadResults[1].PublicId).Count() == 0);
Assert.True(approved.Resources.Where(r => r.PublicId == uploadResults[2].PublicId).Count() == 0);
Assert.True(rejected.Resources.Where(r => r.PublicId == uploadResults[0].PublicId).Count() == 0);
Assert.True(rejected.Resources.Where(r => r.PublicId == uploadResults[1].PublicId).Count() > 0);
Assert.True(rejected.Resources.Where(r => r.PublicId == uploadResults[2].PublicId).Count() == 0);
Assert.True(pending.Resources.Where(r => r.PublicId == uploadResults[0].PublicId).Count() == 0);
Assert.True(pending.Resources.Where(r => r.PublicId == uploadResults[1].PublicId).Count() == 0);
Assert.True(pending.Resources.Where(r => r.PublicId == uploadResults[2].PublicId).Count() > 0);
}