Skip to content

Commit 999ed26

Browse files
committed
tests
1 parent 1f2397f commit 999ed26

File tree

4 files changed

+80
-14
lines changed

4 files changed

+80
-14
lines changed

E2eTest/SingleRecordBasicTest.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ public async Task AddTest()
2424
[
2525
{
2626
"id":12,
27-
"normal":"Norm",
27+
"Normal":"Norm",
2828
"Renamed":"R",
2929
"Index":"I",
3030
"UniqueIndex":"633a97d2-0c92-4c68-883b-364f94ad6030",
31-
"enum":0,
32-
"nested":{"value":1234},
33-
"largeNumber":9007199254740991
31+
"Enum":0,
32+
"Nested":{"value":1234},
33+
"LargeNumber":9007199254740991
3434
}
3535
]
3636
""", records);
@@ -67,13 +67,13 @@ public async Task UpdateTest()
6767
[
6868
{
6969
"id":12,
70-
"normal":"Updated",
70+
"Normal":"Updated",
7171
"Renamed":"R",
7272
"Index":"I",
7373
"UniqueIndex":"633a97d2-0c92-4c68-883b-364f94ad6030",
74-
"enum":0,
75-
"nested":{"value":1234},
76-
"largeNumber":9007199254740991
74+
"Enum":0,
75+
"Nested":{"value":1234},
76+
"LargeNumber":9007199254740991
7777
}
7878
]
7979
""", records);

E2eTest/WhereTest.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using E2eTest.Entities;
2+
using E2eTest.Extensions;
3+
using E2eTestWebApp.TestPages;
4+
5+
namespace E2eTest;
6+
7+
[TestClass]
8+
public class WhereTest : TestBase<WhereTestPage>
9+
{
10+
[TestMethod]
11+
public async Task Where1Test()
12+
{
13+
var page = await this.NewPageAsync();
14+
await page.DeleteDatabaseAsync("Where.Where1");
15+
var result = await this.RunTestPageMethodAsync(p => p.Where1);
16+
Assert.AreEqual("OK", result);
17+
}
18+
}

E2eTestWebApp/TestPages/TestPageBase.razor.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,7 @@ private async Task RunAsync()
3535
}
3636
catch (Exception ex)
3737
{
38-
this.output = JsonSerializer.Serialize(new Dictionary<string, string>()
39-
{
40-
["Exception"] = ex.GetType().ToString(),
41-
["Message"] = ex.Message,
42-
["StackTrace"] = ex.StackTrace ?? "",
43-
});
38+
this.output = ex.ToString();
4439
}
4540
}
4641

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
using Magic.IndexedDb;
2+
using Magic.IndexedDb.Helpers;
3+
using Microsoft.AspNetCore.Components.Rendering;
4+
using Microsoft.AspNetCore.Components;
5+
using System.Runtime.CompilerServices;
6+
using System.Text.Json.Serialization;
7+
using Magic.IndexedDb.SchemaAnnotations;
8+
using System.Text.Json;
9+
using System.Reflection.PortableExecutable;
10+
11+
namespace E2eTestWebApp.TestPages;
12+
13+
[Route("/WhereTest")]
14+
public class WhereTestPage(IMagicDbFactory magic) : TestPageBase
15+
{
16+
[MagicTable("Records", null)]
17+
private class Record
18+
{
19+
[MagicPrimaryKey("Id")]
20+
public int Id { get; set; }
21+
22+
public string? StringField { get; set; }
23+
}
24+
25+
public async Task<string> Where1()
26+
{
27+
var database = await magic.OpenAsync(new DbStore()
28+
{
29+
Name = "Where.Where1",
30+
Version = 1,
31+
StoreSchemas = [SchemaHelper.GetStoreSchema(typeof(Record))]
32+
});
33+
await database.AddAsync(new Record()
34+
{
35+
Id = 1,
36+
StringField = "This is a string."
37+
});
38+
await database.AddAsync(new Record()
39+
{
40+
Id = 2,
41+
StringField = "Is this a string?"
42+
});
43+
await database.AddAsync(new Record()
44+
{
45+
Id = 3,
46+
StringField = "Is this a string?"
47+
});
48+
var result = await database
49+
.Where<Record>(x => x.StringField == "Is this a string?")
50+
.ToListAsync();
51+
return JsonSerializer.Serialize(result.Select(x => x.Id));
52+
}
53+
}

0 commit comments

Comments
 (0)