Skip to content

Commit d5890a4

Browse files
add test for export projectfile
1 parent 3719b83 commit d5890a4

3 files changed

Lines changed: 46 additions & 6 deletions

File tree

AudioCuesheetEditor.End2EndTests/Models/AppBar.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ internal async Task OpenFileAsync(string file)
5353
await _page.Locator("#dropFileInputId_SelectFileDialog").GetByRole(AriaRole.Button, new() { Name = "Choose File" }).SetInputFilesAsync(file);
5454
}
5555

56-
internal async Task ExportCuesheetAsync()
56+
internal async Task OpenExportDialogAsync(string exportType)
5757
{
5858
await _page.GetByRole(AriaRole.Button, new() { Name = "File", Exact = true }).ClickAsync();
5959
await _page.GetByText("Export", new() { Exact = true }).HoverAsync();
60-
await _page.GetByText("Cuesheet", new() { Exact = true }).ClickAsync();
60+
await _page.GetByText(exportType, new() { Exact = true }).ClickAsync();
6161
}
6262
}
6363
}

AudioCuesheetEditor.End2EndTests/Tests/Desktop/ExportTest.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public async Task DownloadCuesheet_GeneratesCuesheetFile_WhenCuesheetIsValid()
1717
await detailView.CuesheetTitleInput.FillAsync("Cuesheet Title 1");
1818
await detailView.AudiofileInput.SetInputFilesAsync("Kalimba.mp3");
1919
await detailView.EditTrackAsync("Track Artist 1", "Track Title 1");
20-
await bar.ExportCuesheetAsync();
20+
await bar.OpenExportDialogAsync("Cuesheet");
2121
var downloadTask = TestPage.WaitForDownloadAsync();
2222
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download-Cuesheet.cue" }).ClickAsync();
2323
var download = await downloadTask;
@@ -35,7 +35,27 @@ TRACK 01 AUDIO
3535
", content);
3636
}
3737

38-
//TODO: Test export project
38+
[TestMethod]
39+
public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync()
40+
{
41+
var bar = new AppBar(TestPage);
42+
var detailView = new DetailView(TestPage, DeviceName != null);
43+
await detailView.GotoAsync();
44+
await detailView.AddTrackAsync();
45+
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
46+
await detailView.CuesheetTitleInput.FillAsync("Cuesheet Title 1");
47+
await detailView.AudiofileInput.SetInputFilesAsync("Kalimba.mp3");
48+
await detailView.EditTrackAsync("Track Artist 1", "Track Title 1");
49+
await bar.OpenExportDialogAsync("Projectfile");
50+
var downloadTask = TestPage.WaitForDownloadAsync();
51+
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download project" }).ClickAsync();
52+
var download = await downloadTask;
53+
using var stream = await download.CreateReadStreamAsync();
54+
using var reader = new StreamReader(stream);
55+
var content = await reader.ReadToEndAsync(TestContext.CancellationTokenSource.Token);
56+
Assert.AreEqual("{\"Tracks\":[{\"Position\":1,\"Artist\":\"Track Artist 1\",\"Title\":\"Track Title 1\",\"Begin\":\"00:00:00\",\"End\":\"00:05:48\",\"Flags\":[],\"IsLinkedToPreviousTrack\":true}],\"Artist\":\"Cuesheet Artist 1\",\"Title\":\"Cuesheet Title 1\",\"Audiofile\":{\"Name\":\"Kalimba.mp3\",\"Duration\":\"00:05:48\",\"AudioCodec\":{\"MimeType\":\"audio/mpeg\",\"FileExtension\":\".mp3\",\"Name\":\"AudioCodec MP3\"}},\"Sections\":[]}", content);
57+
}
58+
3959
//TODO: Test export textfile
4060
}
4161
}

AudioCuesheetEditor.End2EndTests/Tests/Smartphone/ExportTestSmartphone.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public async Task DownloadCuesheet_GeneratesCuesheetFile_WhenCuesheetIsValid()
1717
await detailView.CuesheetTitleInput.FillAsync("Cuesheet Title 1");
1818
await detailView.AudiofileInput.SetInputFilesAsync("Kalimba.mp3");
1919
await detailView.EditTrackAsync("Track Artist 1", "Track Title 1");
20-
await bar.ExportCuesheetAsync();
20+
await bar.OpenExportDialogAsync("Cuesheet");
2121
var downloadTask = TestPage.WaitForDownloadAsync();
2222
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download-Cuesheet.cue" }).ClickAsync();
2323
var download = await downloadTask;
@@ -35,7 +35,27 @@ TRACK 01 AUDIO
3535
", content);
3636
}
3737

38-
//TODO: Test export project
38+
[TestMethod]
39+
public async Task DownloadProject_GeneratesProjectFile_WhenCuesheetIsValidAsync()
40+
{
41+
var bar = new AppBar(TestPage);
42+
var detailView = new DetailView(TestPage, DeviceName != null);
43+
await detailView.GotoAsync();
44+
await detailView.AddTrackAsync();
45+
await detailView.CuesheetArtistInput.FillAsync("Cuesheet Artist 1");
46+
await detailView.CuesheetTitleInput.FillAsync("Cuesheet Title 1");
47+
await detailView.AudiofileInput.SetInputFilesAsync("Kalimba.mp3");
48+
await detailView.EditTrackAsync("Track Artist 1", "Track Title 1");
49+
await bar.OpenExportDialogAsync("Projectfile");
50+
var downloadTask = TestPage.WaitForDownloadAsync();
51+
await TestPage.GetByRole(AriaRole.Button, new() { Name = "Download project" }).ClickAsync();
52+
var download = await downloadTask;
53+
using var stream = await download.CreateReadStreamAsync();
54+
using var reader = new StreamReader(stream);
55+
var content = await reader.ReadToEndAsync(TestContext.CancellationTokenSource.Token);
56+
Assert.AreEqual("{\"Tracks\":[{\"Position\":1,\"Artist\":\"Track Artist 1\",\"Title\":\"Track Title 1\",\"Begin\":\"00:00:00\",\"End\":\"00:05:48\",\"Flags\":[],\"IsLinkedToPreviousTrack\":true}],\"Artist\":\"Cuesheet Artist 1\",\"Title\":\"Cuesheet Title 1\",\"Audiofile\":{\"Name\":\"Kalimba.mp3\",\"Duration\":\"00:05:48\",\"AudioCodec\":{\"MimeType\":\"audio/mpeg\",\"FileExtension\":\".mp3\",\"Name\":\"AudioCodec MP3\"}},\"Sections\":[]}", content);
57+
}
58+
3959
//TODO: Test export textfile
4060
}
4161
}

0 commit comments

Comments
 (0)