Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
2.0 KiB

using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Shouldly;
using Volo.CmsKit.Admin.MediaDescriptors;
using Xunit;
namespace Volo.CmsKit.MediaDescriptors
{
public class MediaDescriptorAdminAppService_Tests : CmsKitApplicationTestBase
{
private readonly CmsKitTestData _cmsKitTestData;
private readonly IMediaDescriptorAdminAppService _mediaDescriptorAdminAppService;
private readonly IMediaDescriptorRepository _mediaDescriptorRepository;
public MediaDescriptorAdminAppService_Tests()
{
_cmsKitTestData = GetRequiredService<CmsKitTestData>();
_mediaDescriptorAdminAppService = GetRequiredService<IMediaDescriptorAdminAppService>();
_mediaDescriptorRepository = GetRequiredService<IMediaDescriptorRepository>();
}
[Fact]
public async Task Should_Create_Media()
{
var mediaName = "README.md";
var mediaType = "text/markdown";
var mediaContent =
"# ABP Framework\nABP Framework is a complete **infrastructure** based on the **ASP.NET Core** to create **modern web applications** and **APIs** by following the software development **best practices** and the **latest technologies**.";
using var stream = new MemoryStream(Encoding.UTF8.GetBytes(mediaContent));
var inputStream = new CreateMediaInputStream(stream)
{
ContentType = mediaType,
Name = mediaName,
EntityType = _cmsKitTestData.Media_1_EntityType
};
var media = await _mediaDescriptorAdminAppService.CreateAsync(inputStream);
media.ShouldNotBeNull();
}
[Fact]
public async Task Should_Delete_Media()
{
await _mediaDescriptorAdminAppService.DeleteAsync(_cmsKitTestData.Media_1_Id);
(await _mediaDescriptorRepository.FindAsync(_cmsKitTestData.Media_1_Id)).ShouldBeNull();
}
}
}