Skip to content

Commit 7361678

Browse files
Merge pull request #505 from NeoCoderMatrix86/398-enhance-autocomplete
Enhance autocomplete
2 parents 764a2d6 + e6c5470 commit 7361678

26 files changed

Lines changed: 108 additions & 459 deletions

AudioCuesheetEditor.End2EndTests/AudioCuesheetEditor.End2EndTests.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@
2323
<PackageReference Include="MSTest" Version="3.10.4" />
2424
</ItemGroup>
2525

26-
<ItemGroup>
27-
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
28-
</ItemGroup>
29-
3026
<ItemGroup>
3127
<None Update="Kalimba.mp3">
3228
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]

AudioCuesheetEditor.End2EndTests/Models/DetailView.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,22 @@ internal async Task EditTrackAsync(string? artist = null, string? title = null)
4848
{
4949
await _page.Locator("td:nth-child(3)").ClickAsync();
5050
await _page.Locator("td:nth-child(3)").Last.GetByRole(AriaRole.Textbox).FillAsync(artist);
51+
// Autocomplete overlay will pop up, so we close it
5152
await _page.Locator(".mud-popover-open").WaitForAsync(new() { State = WaitForSelectorState.Visible });
5253
await _page.Keyboard.PressAsync("Escape");
53-
await _page.GetByRole(AriaRole.Heading, new() { Name = "Playback" }).ClickAsync();
54+
// Click outside the autocomplete to have an focus lost event for getting the value written to model
55+
await _page.GetByRole(AriaRole.Heading, new() { Name = "Playback" }).ClickAsync(new() { Force = true });
5456
await _page.WaitForTimeoutAsync(100);
5557
}
5658
if (title != null)
5759
{
5860
await _page.Locator("td:nth-child(4)").ClickAsync();
5961
await _page.Locator("td:nth-child(4)").Last.GetByRole(AriaRole.Textbox).FillAsync(title);
62+
// Autocomplete overlay will pop up, so we close it
6063
await _page.Locator(".mud-popover-open").WaitForAsync(new() { State = WaitForSelectorState.Visible });
6164
await _page.Keyboard.PressAsync("Escape");
62-
await _page.GetByRole(AriaRole.Heading, new() { Name = "Playback" }).ClickAsync();
65+
// Click outside the autocomplete to have an focus lost event for getting the value written to model
66+
await _page.GetByRole(AriaRole.Heading, new() { Name = "Playback" }).ClickAsync(new() { Force = true });
6367
await _page.WaitForTimeoutAsync(100);
6468
}
6569
}

AudioCuesheetEditor.Tests/AudioCuesheetEditor.Tests.csproj

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,30 @@
2222
</ItemGroup>
2323

2424
<ItemGroup>
25-
<Compile Update="Properties\Resources.Designer.cs">
26-
<DesignTime>True</DesignTime>
27-
<AutoGen>True</AutoGen>
28-
<DependentUpon>Resources.resx</DependentUpon>
29-
</Compile>
30-
</ItemGroup>
31-
32-
<ItemGroup>
33-
<EmbeddedResource Update="Properties\Resources.resx">
34-
<Generator>ResXFileCodeGenerator</Generator>
35-
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
36-
</EmbeddedResource>
25+
<None Update="Resources\Playlist-#36-Frames.cue">
26+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
27+
</None>
28+
<None Update="Resources\Playlist-Bug#30.cue">
29+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
30+
</None>
31+
<None Update="Resources\Playlist-Bug#57.cue">
32+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
33+
</None>
34+
<None Update="Resources\Sample_Inputfile.txt">
35+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
36+
</None>
37+
<None Update="Resources\Textimport with Cuesheetdata.txt">
38+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
39+
</None>
40+
<None Update="Resources\Textimport_Bug_#233.txt">
41+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
42+
</None>
43+
<None Update="Resources\Textimport_Bug_213.txt">
44+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
45+
</None>
46+
<None Update="Resources\Traktor Export.html">
47+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
48+
</None>
3749
</ItemGroup>
3850

3951
</Project>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
3+
[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]

AudioCuesheetEditor.Tests/Model/Entity/ValidateableTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void ValidateTest()
7272
};
7373
Assert.AreEqual(ValidationStatus.Error, testObject.Validate().Status);
7474
Assert.IsNotNull(testObject.Validate().ValidationMessages);
75-
Assert.IsTrue(testObject.Validate().ValidationMessages?.Count == 1);
75+
Assert.AreEqual(1, testObject.Validate().ValidationMessages?.Count);
7676
testObject.TestProperty = "Test";
7777
Assert.AreEqual(ValidationStatus.Success, testObject.Validate().Status);
7878
}

AudioCuesheetEditor.Tests/Model/Entity/ValidationResultTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void Create_NoValidation_ReturnsExpectedResult()
3232

3333
// Assert
3434
Assert.AreEqual(ValidationStatus.NoValidation, validationResult.Status);
35-
Assert.AreEqual(0, validationResult.ValidationMessages.Count);
35+
Assert.IsEmpty(validationResult.ValidationMessages);
3636
}
3737

3838
[TestMethod]
@@ -43,7 +43,7 @@ public void Create_Success_ReturnsExpectedResult()
4343

4444
// Assert
4545
Assert.AreEqual(ValidationStatus.Success, validationResult.Status);
46-
Assert.AreEqual(0, validationResult.ValidationMessages.Count);
46+
Assert.IsEmpty(validationResult.ValidationMessages);
4747
}
4848

4949
[TestMethod]
@@ -54,7 +54,7 @@ public void Create_Error_ReturnsExpectedResult()
5454

5555
// Assert
5656
Assert.AreEqual(ValidationStatus.Error, validationResult.Status);
57-
Assert.AreEqual(0, validationResult.ValidationMessages.Count);
57+
Assert.IsEmpty(validationResult.ValidationMessages);
5858
}
5959

6060
[TestMethod]
@@ -93,7 +93,7 @@ public void Default_Status_IsNoValidation()
9393

9494
// Assert
9595
Assert.AreEqual(ValidationStatus.NoValidation, validationResult.Status);
96-
Assert.AreEqual(0, validationResult.ValidationMessages.Count);
96+
Assert.IsEmpty(validationResult.ValidationMessages);
9797
}
9898

9999
[TestMethod]

AudioCuesheetEditor.Tests/Model/IO/Audio/AudiofileTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ public void AudioFileTest()
2929
Assert.IsNull(audioFile.ContentStream);
3030
Assert.IsFalse(audioFile.IsContentStreamLoaded);
3131
Assert.IsNotNull(audioFile.Name);
32-
Assert.AreEqual(audioFile.AudioFileType, "MP3");
32+
Assert.AreEqual("MP3", audioFile.AudioFileType);
3333
audioFile = new Audiofile("Test");
3434
Assert.AreEqual(audioFile.AudioFileType, string.Empty);
3535
Assert.IsNotNull(audioFile.Name);
3636
var codec = Audiofile.AudioCodecs.Single(x => x.FileExtension == ".ogg");
3737
audioFile = new Audiofile("test", "TestobjectURL", codec);
3838
Assert.IsNotNull(audioFile.Name);
3939
Assert.AreEqual("test.ogg", audioFile.Name);
40-
Assert.AreEqual(audioFile.AudioFileType, "OGG");
40+
Assert.AreEqual("OGG", audioFile.AudioFileType);
4141
Assert.IsNotNull(audioFile.ObjectURL);
4242
Assert.IsTrue(audioFile.PlaybackPossible);
4343
codec = Audiofile.AudioCodecs.Single(x => x.FileExtension == ".mp3");

AudioCuesheetEditor.Tests/Model/IO/Export/CuesheetSectionTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
using AudioCuesheetEditor.Model.AudioCuesheet;
22
using AudioCuesheetEditor.Model.Entity;
3+
using AudioCuesheetEditor.Model.IO.Export;
34
using Microsoft.VisualStudio.TestTools.UnitTesting;
45
using System;
56

6-
namespace AudioCuesheetEditor.Model.IO.Export.Tests
7+
namespace AudioCuesheetEditor.Tests.Model.IO.Export
78
{
89
[TestClass()]
910
public class CuesheetSectionTests

AudioCuesheetEditor.Tests/Model/IO/Import/ImportprofileTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void Validate_WithoutPlaceholder_ReturnsInvalid()
3737
var result = importprofile.Validate();
3838
// Assert
3939
Assert.AreEqual(ValidationStatus.Error, result.Status);
40-
Assert.AreEqual(2, result.ValidationMessages.Count);
40+
Assert.HasCount(2, result.ValidationMessages);
4141
Assert.AreEqual("{0} contains no placeholder!", result.ValidationMessages.First().Message);
4242
Assert.AreEqual(nameof(Importprofile.SchemeCuesheet), result.ValidationMessages.First().Parameter?.First().ToString());
4343
Assert.AreEqual("{0} contains no placeholder!", result.ValidationMessages.Last().Message);

0 commit comments

Comments
 (0)