Skip to content
Merged
6 changes: 2 additions & 4 deletions AudioCuesheetEditor.End2EndTests/Models/DetailView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,11 @@

namespace AudioCuesheetEditor.End2EndTests.Models
{
internal class DetailView(IPage page, bool mobile)
internal class DetailView(IPage page)
{
internal const string BaseUrl = "http://localhost:5132/";

private readonly IPage _page = page;
private readonly bool _isMobile = mobile;

internal ILocator AudiofileInput => _page.GetByRole(AriaRole.Group).Filter(new() { HasText = "AudiofileAudiofile" }).Locator("input[type=\"file\"]");

Expand Down Expand Up @@ -115,8 +114,7 @@ internal async Task RenameAudiofileAsync(string filename)

internal async Task OpenRenameAudiofileDialogAsync()
{
int buttonIndex = _isMobile ? 2 : 3;
await _page.GetByRole(AriaRole.Group).Filter(new() { HasText = "AudiofileAudiofile" }).GetByRole(AriaRole.Button).Nth(buttonIndex).ClickAsync();
await _page.GetByRole(AriaRole.Group).Filter(new() { HasText = "AudiofileAudiofile" }).GetByLabel("More").ClickAsync();
await _page.GetByText("Rename file").ClickAsync();
}
}
Expand Down
1 change: 0 additions & 1 deletion AudioCuesheetEditor.End2EndTests/Models/RecordView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ internal async Task AddRecordingTrackAsync(string artist, string title)
await _page.GetByRole(AriaRole.Textbox, new() { Name = "Title", Exact = true }).FillAsync(title);
await _page.GetByRole(AriaRole.Textbox, new() { Name = "Title", Exact = true }).PressAsync("Tab");
await _page.GetByRole(AriaRole.Button, new() { Name = "Add track" }).ClickAsync();
await _page.Locator(".mud-overlay").ClickAsync();
}
}
}
12 changes: 6 additions & 6 deletions AudioCuesheetEditor.End2EndTests/Tests/Desktop/BasicTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class BasicTest : PlaywrightTestBase
[TestMethod]
public async Task Application_HasTitle_WhenBrowsingIndex()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
var appBar = new AppBar(TestPage);
await Expect(appBar.HomeButton).ToBeVisibleAsync();
Expand All @@ -43,7 +43,7 @@ public async Task AboutHeader_HasTitle_WhenBrowsingAbout()
[TestMethod]
public async Task Audiofile_ShouldBeRenamed_WhenEditingFilename()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AudiofileInput.SetInputFilesAsync("Kalimba.mp3");
await detailView.RenameAudiofileAsync("Kalimba test 123.mp3");
Expand All @@ -54,7 +54,7 @@ public async Task Audiofile_ShouldBeRenamed_WhenEditingFilename()
public async Task OpenSettings_ShouldDisplaySettings_WhenSelectingSettings()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await bar.OpenSettingsAsync();
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Settings" })).ToBeVisibleAsync();
Expand All @@ -65,7 +65,7 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
{
var bar = new AppBar(TestPage);
var exportDialog = new ExportDialog(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await bar.ChangeLanguageAsync("German (Germany)");
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Abschnitte" })).ToBeVisibleAsync();
Expand All @@ -86,7 +86,7 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
public async Task TrackTableControls_ShouldBeEnabled_WhenSelectingFirstTrackAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.AddTrackAsync();
Expand All @@ -108,7 +108,7 @@ await Expect(TestPage.GetByLabel("Track table controls")).ToMatchAriaSnapshotAsy
public async Task KeyboardCommands_ShouldControlDialogs_WhenUsingEnterOrEscapeAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await TestPage.GetByRole(AriaRole.Dialog).WaitForAsync(new() { State = WaitForSelectorState.Detached });
await bar.OpenExportDialogAsync("Cuesheet");
Expand Down
8 changes: 4 additions & 4 deletions AudioCuesheetEditor.End2EndTests/Tests/Desktop/ExportTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class ExportTest : PlaywrightTestBase
public async Task DownloadCuesheet_GeneratesCuesheetFile_WhenCuesheetIsValid()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
Expand Down Expand Up @@ -54,7 +54,7 @@ TRACK 01 AUDIO
public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
Expand All @@ -75,7 +75,7 @@ public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync(
public async Task DownloadText_GeneratesTextFile_WhenCuesheetIsValidAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
Expand All @@ -85,7 +85,7 @@ public async Task DownloadText_GeneratesTextFile_WhenCuesheetIsValidAsync()
await bar.OpenExportDialogAsync("Textfile");
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Next", Exact = true }).ClickAsync();
var downloadTask = TestPage.WaitForDownloadAsync();
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download-YouTube.txt" }).ClickAsync();
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download" }).ClickAsync();
var download = await downloadTask;
using var stream = await download.CreateReadStreamAsync();
using var reader = new StreamReader(stream);
Expand Down
6 changes: 3 additions & 3 deletions AudioCuesheetEditor.End2EndTests/Tests/Desktop/ImportTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class ImportTest : PlaywrightTestBase
public async Task Import_ShouldImportTracks_WhenUsingSampleInputfile()
{
var importView = new ImportView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await importView.GotoAsync();
await importView.ImportFileAsync("Sample_Inputfile.txt");
await importView.Analyze();
Expand Down Expand Up @@ -1690,7 +1690,7 @@ await Expect(TestPage.GetByRole(AriaRole.Table)).ToMatchAriaSnapshotAsync(@"- ta
[TestMethod]
public async Task Open_ShouldImportProject_WhenUsingProjectfile()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
var appBar = new AppBar(TestPage);
await detailView.GotoAsync();
await appBar.OpenFileAsync("Sample_Project.ace");
Expand Down Expand Up @@ -1919,7 +1919,7 @@ await Expect(TestPage.GetByRole(AriaRole.Table)).ToMatchAriaSnapshotAsync(@"- ta
[TestMethod]
public async Task Open_ShouldImportCuesheet_WhenUsingCuesheetfile()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
var appBar = new AppBar(TestPage);
await detailView.GotoAsync();
await appBar.OpenFileAsync("Sample_Cuesheet.cue");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public async Task Record_ShouldRecordTracks_WhenTracksAdded()
{
var recordView = new RecordView(TestPage);
var viewModes = new ViewModes(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await recordView.GotoAsync();
await recordView.StartRecordingAsync();
await recordView.AddRecordingTrackAsync("Test Track 1 Artist", "Test Track 1 Title");
Expand Down
4 changes: 2 additions & 2 deletions AudioCuesheetEditor.End2EndTests/Tests/Desktop/TracingTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class TracingTest : PlaywrightTestBase
public async Task UndoRedo_ShouldRestoreTrackState_WhenUndoAndRedoAreUsed()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.EditTrackAsync("Test Artist 1");
Expand Down Expand Up @@ -247,7 +247,7 @@ await Expect(TestPage.GetByRole(AriaRole.Table)).ToMatchAriaSnapshotAsync(@"- ta
public async Task UndoRedo_ShouldRestoreTrackState_WhenModalEdit()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.SelectTracksAsync([1]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class BasicTestSmartphone : PlaywrightTestBase
[TestMethod]
public async Task Application_HasTitle_WhenBrowsingIndex()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
var appBar = new AppBar(TestPage);
await Expect(appBar.HomeButton).ToBeVisibleAsync();
Expand All @@ -45,7 +45,7 @@ public async Task AboutHeader_HasTitle_WhenBrowsingAbout()
[TestMethod]
public async Task Audiofile_ShouldBeRenamed_WhenEditingFilename()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AudiofileInput.SetInputFilesAsync("Kalimba.mp3");
await detailView.RenameAudiofileAsync("Kalimba test 123.mp3");
Expand All @@ -56,7 +56,7 @@ public async Task Audiofile_ShouldBeRenamed_WhenEditingFilename()
public async Task OpenSettings_ShouldDisplaySettings_WhenSelectingSettings()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await bar.OpenSettingsAsync();
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Settings" })).ToBeVisibleAsync();
Expand All @@ -67,7 +67,7 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
{
var bar = new AppBar(TestPage);
var exportDialog = new ExportDialog(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await bar.ChangeLanguageAsync("German (Germany)");
await Expect(TestPage.GetByRole(AriaRole.Heading, new() { Name = "Abschnitte" })).ToBeVisibleAsync();
Expand All @@ -88,7 +88,7 @@ public async Task ChangeLanguage_ShouldSwitchLanguage_WhenGermanIsSelected()
public async Task TrackTableControls_ShouldBeEnabled_WhenSelectingFirstTrackAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.AddTrackAsync();
Expand All @@ -107,7 +107,7 @@ await Expect(TestPage.GetByLabel("Track table controls")).ToMatchAriaSnapshotAsy
public async Task KeyboardCommands_ShouldControlDialogs_WhenUsingEnterOrEscapeAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await TestPage.GetByRole(AriaRole.Dialog).WaitForAsync(new() { State = WaitForSelectorState.Detached });
await bar.OpenExportDialogAsync("Cuesheet");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class ExportTestSmartphone : PlaywrightTestBase
public async Task DownloadCuesheet_GeneratesCuesheetFile_WhenCuesheetIsValid()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
Expand Down Expand Up @@ -54,7 +54,7 @@ TRACK 01 AUDIO
public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
Expand All @@ -75,7 +75,7 @@ public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync(
public async Task DownloadText_GeneratesTextFile_WhenCuesheetIsValidAsync()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
Expand All @@ -85,7 +85,7 @@ public async Task DownloadText_GeneratesTextFile_WhenCuesheetIsValidAsync()
await bar.OpenExportDialogAsync("Textfile");
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Next", Exact = true }).ClickAsync();
var downloadTask = TestPage.WaitForDownloadAsync();
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download-YouTube.txt" }).ClickAsync();
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download" }).ClickAsync();
var download = await downloadTask;
using var stream = await download.CreateReadStreamAsync();
using var reader = new StreamReader(stream);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class ImportTestSmartphone : PlaywrightTestBase
public async Task Import_ShouldImportTracks_WhenUsingSampleInputfile()
{
var importView = new ImportView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await importView.GotoAsync();
await importView.ImportFileAsync("Sample_Inputfile.txt");
await importView.Analyze();
Expand Down Expand Up @@ -3067,7 +3067,7 @@ await Expect(TestPage.GetByRole(AriaRole.Table)).ToMatchAriaSnapshotAsync(@"- ta
[TestMethod]
public async Task Open_ShouldImportProject_WhenUsingProjectfile()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
var appBar = new AppBar(TestPage);
await detailView.GotoAsync();
await appBar.OpenFileAsync("Sample_Project.ace");
Expand Down Expand Up @@ -3320,7 +3320,7 @@ await Expect(TestPage.GetByRole(AriaRole.Table)).ToMatchAriaSnapshotAsync(@"- ta
[TestMethod]
public async Task Open_ShouldImportCuesheet_WhenUsingCuesheetfile()
{
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
var appBar = new AppBar(TestPage);
await detailView.GotoAsync();
await appBar.OpenFileAsync("Sample_Cuesheet.cue");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public async Task Record_ShouldRecordTracks_WhenTracksAdded()
{
var recordView = new RecordView(TestPage);
var viewModes = new ViewModes(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await recordView.GotoAsync();
await recordView.StartRecordingAsync();
await recordView.AddRecordingTrackAsync("Test Track 1 Artist", "Test Track 1 Title");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class TracingTestSmartphone : PlaywrightTestBase
public async Task UndoRedo_ShouldRestoreTrackState_WhenUndoAndRedoAreUsed()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.EditTrackAsync("Test Artist 1");
Expand Down Expand Up @@ -143,7 +143,7 @@ await Expect(TestPage.GetByRole(AriaRole.Table)).ToMatchAriaSnapshotAsync(@"- ta
public async Task UndoRedo_ShouldRestoreTrackState_WhenModalEdit()
{
var bar = new AppBar(TestPage);
var detailView = new DetailView(TestPage, DeviceName != null);
var detailView = new DetailView(TestPage);
await detailView.GotoAsync();
await detailView.AddTrackAsync();
await detailView.SelectTracksAsync([1]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ public void GenerateExportfiles_WithoutSections_ReturnsExportFile()
Assert.AreEqual(new TimeSpan(0, 8, 32), result.First().End);
var content = result.First().Content;
Assert.IsNotNull(content);
var contentString = Encoding.UTF8.GetString(content);
Assert.AreEqual(@"TITLE ""Test title cuesheet""
PERFORMER ""Test artist cuesheet""
FILE ""Test audiofile.mp3"" MP3
Expand All @@ -127,7 +126,7 @@ TRACK 02 AUDIO
TITLE ""Test title 2""
PERFORMER ""Test artist 2""
INDEX 01 04:12:00
", contentString);
", content);
}

[TestMethod]
Expand Down Expand Up @@ -212,7 +211,6 @@ public void GenerateExportfiles_WithSections_ReturnsExportFiles()
Assert.AreEqual(section3.End, result.Last().End);
var content = result.Last().Content;
Assert.IsNotNull(content);
var contentString = Encoding.UTF8.GetString(content);
Assert.AreEqual(@"TITLE ""Test title cuesheet""
PERFORMER ""Test artist cuesheet""
FILE ""Test audiofile.mp3"" MP3
Expand All @@ -224,7 +222,7 @@ TRACK 02 AUDIO
TITLE ""Test title 6""
PERFORMER ""Test artist 6""
INDEX 01 01:54:00
", contentString);
", content);
}

[TestMethod]
Expand Down
Loading