Skip to content

Commit 4f67a01

Browse files
Update IndexTest.cs
1 parent abfda40 commit 4f67a01

1 file changed

Lines changed: 60 additions & 1 deletion

File tree

AudioCuesheetEditor.End2EndTests/Pages/IndexTest.cs

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,65 @@ public async Task Import()
103103
await Expect(Page.GetByRole(AriaRole.Group).Filter(new() { HasText = "AudiofileAudiofile Search" }).Locator("input[type=\"file\"]")).ToBeEmptyAsync();
104104
}
105105

106-
//TODO: Generate cuesheet
106+
[TestMethod]
107+
public async Task GenerateCuesheet()
108+
{
109+
await Page.GotoAsync("http://localhost:5132/");
110+
await Page.GetByRole(AriaRole.Button, new() { Name = "File", Exact = true }).ClickAsync();
111+
await Page.GetByText("Open").ClickAsync();
112+
await Page.Locator("#dropFileInputId_SelectFileDialog").GetByRole(AriaRole.Button, new() { Name = "Choose File" }).ClickAsync();
113+
await Page.Locator("#dropFileInputId_SelectFileDialog").GetByRole(AriaRole.Button, new() { Name = "Choose File" }).SetInputFilesAsync(new[] { "../../../../AudioCuesheetEditor/wwwroot/samples/Sample_Cuesheet.cue" });
114+
await Expect(Page.GetByRole(AriaRole.Textbox, new() { Name = "Cuesheet artist" })).ToHaveValueAsync("Sample CD Artist");
115+
await Expect(Page.GetByRole(AriaRole.Textbox, new() { Name = "Cuesheet title" })).ToHaveValueAsync("Sample CD Title");
116+
await Expect(Page.GetByRole(AriaRole.Cell, new() { Name = "Sample Artist 6" }).GetByRole(AriaRole.Textbox)).ToHaveValueAsync("Sample Artist 6");
117+
await Expect(Page.GetByRole(AriaRole.Row, new() { Name = "Increment Decrement Sample Artist 7 Clear Sample Title 7 Clear 00:31:54 00:45:" }).GetByRole(AriaRole.Textbox).Nth(3)).ToHaveValueAsync("00:45:54");
118+
await Page.GetByRole(AriaRole.Button, new() { Name = "File", Exact = true }).ClickAsync();
119+
await Page.GetByText("Export").ClickAsync();
120+
await Page.GetByText("Cuesheet", new() { Exact = true }).ClickAsync();
121+
var download = await Page.RunAndWaitForDownloadAsync(async () =>
122+
{
123+
await Page.GetByRole(AriaRole.Row, new() { Name = "Cuesheet.cue 00:00:00 00:45:" }).GetByRole(AriaRole.Button).ClickAsync();
124+
});
125+
// Read the downloaded file content as text
126+
var cuesheetContent = await download.PathAsync();
127+
var actualText = await File.ReadAllTextAsync(cuesheetContent);
128+
var expectedText = @"TITLE ""Sample CD Title""
129+
PERFORMER ""Sample CD Artist""
130+
FILE ""Sample.mp3"" MP3
131+
TRACK 01 AUDIO
132+
TITLE ""Sample Title 1""
133+
PERFORMER ""Sample Artist 1""
134+
INDEX 01 00:00:00
135+
TRACK 02 AUDIO
136+
TITLE ""Sample Title 2""
137+
PERFORMER ""Sample Artist 2""
138+
INDEX 01 05:00:00
139+
TRACK 03 AUDIO
140+
TITLE ""Sample Title 3""
141+
PERFORMER ""Sample Artist 3""
142+
INDEX 01 09:23:00
143+
TRACK 04 AUDIO
144+
TITLE ""Sample Title 4""
145+
PERFORMER ""Sample Artist 4""
146+
INDEX 01 15:54:00
147+
TRACK 05 AUDIO
148+
TITLE ""Sample Title 5""
149+
PERFORMER ""Sample Artist 5""
150+
INDEX 01 20:13:00
151+
TRACK 06 AUDIO
152+
TITLE ""Sample Title 6""
153+
PERFORMER ""Sample Artist 6""
154+
INDEX 01 24:54:00
155+
TRACK 07 AUDIO
156+
TITLE ""Sample Title 7""
157+
PERFORMER ""Sample Artist 7""
158+
INDEX 01 31:54:00
159+
TRACK 08 AUDIO
160+
TITLE ""Sample Title 8""
161+
PERFORMER ""Sample Artist 8""
162+
INDEX 01 45:54:00
163+
";
164+
Assert.AreEqual(expectedText.Replace("\r\n", "\n"), actualText.Replace("\r\n", "\n"));
165+
}
107166
}
108167
}

0 commit comments

Comments
 (0)