Skip to content

Commit ec0b15a

Browse files
committed
ci and tests
1 parent c17701a commit ec0b15a

3 files changed

Lines changed: 42 additions & 2 deletions

File tree

src/PrompterOne.Shared/Editor/Pages/EditorPage.FrontMatterImport.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ private void ApplyLoadedMetadata(IReadOnlyDictionary<string, string> metadata, S
2222
{
2323
var computedDuration = FormatDuration(state.EstimatedDuration);
2424
ApplyResolvedMetadata(
25-
_frontMatterService.ResolveTitle(state.Text, state.Title),
25+
state.Title,
2626
GetMetadata(metadata, TpsFrontMatterDocumentService.MetadataKeys.Author, DefaultAuthor),
2727
TryGetInt(metadata, TpsFrontMatterDocumentService.MetadataKeys.BaseWpm, state.ScriptData?.TargetWpm ?? 140),
2828
NormalizeProfile(GetMetadata(metadata, TpsFrontMatterDocumentService.MetadataKeys.Profile, _baseWpm >= 250 ? DefaultProfileRsvp : DefaultProfileActor)),

tests/PrompterOne.Testing/EnvironmentAwareParallelLimitBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace PrompterOne.Testing;
77
/// </summary>
88
public abstract class EnvironmentAwareParallelLimitBase : IParallelLimit
99
{
10-
protected virtual int CiLimit { get; } = 4;
10+
protected virtual int CiLimit { get; } = 2;
1111
protected virtual int LocalLimit { get; } = 15;
1212

1313
public int Limit => ResolveLimit();

tests/PrompterOne.Web.Tests/Editor/EditorMetadataInteractionTests.cs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using PrompterOne.Core.Models.Workspace;
55
using PrompterOne.Shared.Contracts;
66
using PrompterOne.Shared.Pages;
7+
using PrompterOne.Shared.Services;
78
using PrompterOne.Shared.Tests;
89

910
namespace PrompterOne.Web.Tests;
@@ -140,6 +141,32 @@ public void EditorPage_MetadataRailToggleCollapsesAndExpands()
140141
});
141142
}
142143

144+
[Test]
145+
public async Task EditorPage_LoadUsesSessionTitle_WhenPersistedFrontMatterTitleDiffers()
146+
{
147+
var document = await _harness.Repository.SaveAsync(
148+
EditorMetadataTestSource.ImportedFileStemTitle,
149+
EditorMetadataTestSource.ConflictingImportedDocument,
150+
EditorMetadataTestSource.ImportedDocumentName);
151+
152+
Services.GetRequiredService<NavigationManager>()
153+
.NavigateTo(AppRoutes.EditorWithId(document.Id));
154+
var cut = Render<EditorPage>();
155+
156+
cut.WaitForAssertion(() =>
157+
{
158+
var visibleSource = cut.FindByTestId(UiTestIds.Editor.SourceInput).GetAttribute("value") ?? string.Empty;
159+
var shellState = Services.GetRequiredService<AppShellService>().State;
160+
161+
Assert.Equal(
162+
EditorMetadataTestSource.ImportedFileStemTitle,
163+
cut.FindByTestId(UiTestIds.Editor.Title).GetAttribute("value"));
164+
Assert.Equal(EditorMetadataTestSource.ImportedFileStemTitle, shellState.Title);
165+
Assert.Contains(EditorMetadataTestSource.ImportedHeading, visibleSource, StringComparison.Ordinal);
166+
Assert.DoesNotContain(EditorMetadataTestSource.TitleField, visibleSource, StringComparison.Ordinal);
167+
});
168+
}
169+
143170
private static class EditorMetadataTestSource
144171
{
145172
public const string AuthorField = "author:";
@@ -154,11 +181,24 @@ private static class EditorMetadataTestSource
154181
public const string ProfileRsvp = "RSVP";
155182
public const string RetitledScript = "Renamed Product Launch";
156183
public const string RightChevronDirection = "right";
184+
public const string ImportedDocumentName = "Imported Design Review From File Name With A Long Header Title That Should Clamp Cleanly In Editor.tps.md";
185+
public const string ImportedFileStemTitle = "Imported Design Review From File Name With A Long Header Title That Should Clamp Cleanly In Editor";
186+
public const string ImportedHeading = "Converted heading should stay inside the editor body instead of becoming the shell title";
157187
public const string TitleField = "title:";
158188
public const string TitlePersistenceLine = "title: \"Renamed Product Launch\"";
159189
public const string TrueText = "true";
160190
public const string UntitledTitlePersistenceLine = "title: \"Untitled Script\"";
161191
public const string VersionField = "version:";
162192
public const string VersionPersistenceLine = "version: \"2.0\"";
193+
public const string ConflictingImportedDocument =
194+
"""
195+
---
196+
title: "Converted heading should stay inside the editor body instead of becoming the shell title"
197+
---
198+
199+
# Converted heading should stay inside the editor body instead of becoming the shell title
200+
201+
MarkItDown should convert this DOCX paragraph into Markdown for the editor.
202+
""";
163203
}
164204
}

0 commit comments

Comments
 (0)