public TheSaveReadMeMdIfChangedMethod() { _package = new Package { HasReadMe = false, }; _edit = new EditPackageVersionReadMeRequest { ReadMe = new ReadMeRequest { SourceText = "# Title" + Environment.NewLine + "Some *groovy* content.", SourceType = "written", }, ReadMeState = PackageEditReadMeState.Changed, }; _encoding = Encoding.UTF8; _packageFileService = new Mock <IPackageFileService>(); _entitiesContext = new Mock <IEntitiesContext>(); _markdownService = new Mock <IMarkdownService>(); _target = new ReadMeService( _packageFileService.Object, _entitiesContext.Object, _markdownService.Object); }
public void ConvertsMarkdownToHtml(string originalMd, string expectedHtml, bool imageRewriteExpected) { var readMeResult = ReadMeService.GetReadMeHtml(originalMd); Assert.Equal(expectedHtml, StripNewLines(readMeResult.Content)); Assert.Equal(imageRewriteExpected, readMeResult.ImagesRewritten); }
public async Task WhenInvalidUrl_ThrowsInvalidOperationException(string url) { // Arrange. var request = ReadMeServiceFacts.GetReadMeRequest(ReadMeService.TypeUrl, "markdown"); // Act & Assert. await Assert.ThrowsAsync <ArgumentException>(() => ReadMeService.GetReadMeMdAsync(request, Encoding.UTF8)); }
public async Task WhenFileAndExtensionInvalid_ThrowsInvalidOperationException(string fileExt) { // Arrange. var request = ReadMeServiceFacts.GetReadMeRequest(ReadMeService.TypeFile, "markdown", fileName: $"README.{fileExt}"); // Act & Assert. await Assert.ThrowsAsync <InvalidOperationException>(() => ReadMeService.GetReadMeMdAsync(request, Encoding.UTF8)); }
public async Task WhenValid_ReturnsSourceContent(string sourceType) { // Arrange. var request = ReadMeServiceFacts.GetReadMeRequest(sourceType, "markdown"); // Act & Assert. Assert.Equal("markdown", await ReadMeService.GetReadMeMdAsync(request, Encoding.UTF8)); }
public async Task WhenMaxLengthExceeded_ThrowsInvalidOperationException(string sourceType) { // Arrange. var request = ReadMeServiceFacts.GetReadMeRequest(ReadMeService.TypeWritten, LargeMarkdown); // Act & Assert. await Assert.ThrowsAsync <InvalidOperationException>(() => ReadMeService.GetReadMeMdAsync(request, Encoding.UTF8)); }
public async Task WhenInvalidSourceType_ThrowsInvalidOperationException(string sourceType) { // Arrange. var request = ReadMeServiceFacts.GetReadMeRequest(sourceType, "markdown"); // Act & Assert. await Assert.ThrowsAsync <InvalidOperationException>(() => ReadMeService.GetReadMeMdAsync(request, Encoding.UTF8)); }
public async Task WhenReadMeDoesNotExistReturnsNull() { // Arrange var readMeService = new ReadMeService(new Mock <IPackageFileService>().Object, new Mock <IEntitiesContext>().Object); var package = new Package() { HasReadMe = false }; // Act & Assert Assert.Null(await readMeService.GetReadMeHtmlAsync(package)); }
public void ConvertsMarkdownToHtml(string originalMd, string expectedHtml) { Assert.Equal(expectedHtml, StripNewLines(ReadMeService.GetReadMeHtml(originalMd))); }
public void EncodesHtmlInMarkdown(string originalMd, string expectedHtml) { Assert.Equal(expectedHtml, StripNewLines(ReadMeService.GetReadMeHtml(originalMd))); }