123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Luticate2.Utils.Dbo;
- using Luticate2.Utils.Dbo.OrderBy;
- using Luticate2.Utils.Dbo.Result;
- using TestUtils.DataAccess;
- using TestUtils.Dbo.PkBigSerial;
- using TestUtils.Dbo.PkGuid;
- using Xunit;
-
- namespace TestUtils.EfCrudDataAccess
- {
- public class LuEfReadDataAccessTest
- {
- [Fact]
- public void TestGetSingle1()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkBigSerialDataAccess(context);
- var res = service.AddDbo(new PkBigSerialAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(0, res.Data.Id);
-
- var get = service.GetSingle(bigserial => bigserial.some_int == 42);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal("42", get.Data.SomeText);
- Assert.Equal(42, get.Data.SomeInt);
- Assert.Equal(res.Data.Id, get.Data.Id);
- });
- }
-
- [Fact]
- public void TestGetSingle2()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkBigSerialDataAccess(context);
- var res = service.AddDbo(new PkBigSerialAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(0, res.Data.Id);
-
- var get = service.GetSingle(bigserial => bigserial.some_int == 24);
- Assert.Equal(LuStatus.NotFound, get.Status);
- });
- }
-
-
- [Fact]
- public void TestGetSingleByKeys1()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkBigSerialDataAccess(context);
- var res = service.AddDbo(new PkBigSerialAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(0, res.Data.Id);
-
- var get = service.GetSingleByKeys(new KeyValuePair<string, object>("some_text", "42"));
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal("42", get.Data.SomeText);
- Assert.Equal(42, get.Data.SomeInt);
- Assert.Equal(res.Data.Id, get.Data.Id);
- });
- }
-
- [Fact]
- public void TestGetSingleByKeys2()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkBigSerialDataAccess(context);
- var res = service.AddDbo(new PkBigSerialAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(0, res.Data.Id);
-
- var get = service.GetSingleByKeys(new KeyValuePair<string, object>("some_text", "24"));
- Assert.Equal(LuStatus.NotFound, get.Status);
- });
- }
-
- [Fact]
- public void TestGetSingleById1()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkBigSerialDataAccess(context);
- var res = service.AddId(new PkBigSerialAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(0, res.Data);
-
- var get = service.GetSingleById(res.Data);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal("42", get.Data.SomeText);
- Assert.Equal(42, get.Data.SomeInt);
- Assert.Equal(res.Data, get.Data.Id);
- });
- }
-
- [Fact]
- public void TestGetSingleById2()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkBigSerialDataAccess(context);
- var res = service.AddId(new PkBigSerialAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(0, res.Data);
-
- var get = service.GetSingle(bigserial => bigserial.some_int == 24);
- Assert.Equal(LuStatus.NotFound, get.Status);
- });
- }
-
- [Fact]
- public void TestGetSingleById3()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(new Guid().ToString(), res.Data);
-
- var get = service.GetSingleById(res.Data);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal("42", get.Data.SomeText);
- Assert.Equal(42, get.Data.SomeInt);
- Assert.Equal(res.Data, get.Data.Id);
- });
- }
-
- [Fact]
- public void TestGetSingleById4()
- {
- Tests.TestRealDb(context =>
- {
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- });
- Assert.Equal(LuStatus.Success, res.Status);
- Assert.NotEqual(new Guid().ToString(), res.Data);
-
- var get = service.GetSingle(bigserial => bigserial.some_int == 24);
- Assert.Equal(LuStatus.NotFound, get.Status);
- });
- }
-
- [Fact]
- public void TestGetMultiple1()
- {
- Tests.TestRealDb(context =>
- {
- var dbos = new List<PkGuidAddDbo>
- {
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "442"
- },
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- },
- new PkGuidAddDbo
- {
- SomeInt = 142,
- SomeText = "24"
- }
- };
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(dbos);
- Assert.Equal(LuStatus.Success, res.Status);
-
- var get = service.GetMultiple(table => table.OrderBy(guid => guid.some_int),
- guid => guid.some_int == 42, 0, int.MaxValue, set => set.ThenBy(guid => guid.some_text));
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal(2, get.Data.Count);
- Assert.Equal(2, get.Data.Data.Count);
-
- var dbo = get.Data.Data[0];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("42", dbo.SomeText);
-
- dbo = get.Data.Data[1];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("442", dbo.SomeText);
- });
- }
-
- [Fact]
- public void TestGetMultiple2()
- {
- Tests.TestRealDb(context =>
- {
- var dbos = new List<PkGuidAddDbo>
- {
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "442"
- },
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- },
- new PkGuidAddDbo
- {
- SomeInt = 142,
- SomeText = "24"
- }
- };
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(dbos);
- Assert.Equal(LuStatus.Success, res.Status);
-
- var get = service.GetMultiple(guid => guid.some_int, guid => guid.some_int == 42, 0, int.MaxValue,
- guid => guid.some_text);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal(2, get.Data.Count);
- Assert.Equal(2, get.Data.Data.Count);
-
- var dbo = get.Data.Data[0];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("42", dbo.SomeText);
-
- dbo = get.Data.Data[1];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("442", dbo.SomeText);
- });
- }
-
- [Fact]
- public void TestGetMultiple3()
- {
- Tests.TestRealDb(context =>
- {
- var dbos = new List<PkGuidAddDbo>
- {
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "442"
- },
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- },
- new PkGuidAddDbo
- {
- SomeInt = 142,
- SomeText = "24"
- }
- };
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(dbos);
- Assert.Equal(LuStatus.Success, res.Status);
-
- var get = service.GetMultiple(table => table.OrderBy(guid => guid.some_int), 0, int.MaxValue,
- set => set.ThenBy(guid => guid.some_text));
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal(3, get.Data.Count);
- Assert.Equal(3, get.Data.Data.Count);
-
- var dbo = get.Data.Data[0];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("42", dbo.SomeText);
-
- dbo = get.Data.Data[1];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("442", dbo.SomeText);
-
- dbo = get.Data.Data[2];
- Assert.Equal(142, dbo.SomeInt);
- Assert.Equal("24", dbo.SomeText);
- });
- }
-
- [Fact]
- public void TestGetMultiple4()
- {
- Tests.TestRealDb(context =>
- {
- var dbos = new List<PkGuidAddDbo>
- {
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "442"
- },
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- },
- new PkGuidAddDbo
- {
- SomeInt = 142,
- SomeText = "24"
- }
- };
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(dbos);
- Assert.Equal(LuStatus.Success, res.Status);
-
- var get = service.GetMultiple(guid => guid.some_int, 0, int.MaxValue, guid => guid.some_text);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal(3, get.Data.Count);
- Assert.Equal(3, get.Data.Data.Count);
-
- var dbo = get.Data.Data[0];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("42", dbo.SomeText);
-
- dbo = get.Data.Data[1];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("442", dbo.SomeText);
-
- dbo = get.Data.Data[2];
- Assert.Equal(142, dbo.SomeInt);
- Assert.Equal("24", dbo.SomeText);
- });
- }
-
- [Fact]
- public void TestGetMultiple5()
- {
- Tests.TestRealDb(context =>
- {
- var dbos = new List<PkGuidAddDbo>
- {
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "442"
- },
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- },
- new PkGuidAddDbo
- {
- SomeInt = 142,
- SomeText = "24"
- }
- };
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(dbos);
- Assert.Equal(LuStatus.Success, res.Status);
-
- var orderBy = LuOrderByBinder.FromString("someInt,someText");
- Assert.Equal(LuStatus.Success, orderBy.Status);
-
- var get = service.GetMultiple(orderBy.Data);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal(3, get.Data.Count);
- Assert.Equal(3, get.Data.Data.Count);
-
- var dbo = get.Data.Data[0];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("42", dbo.SomeText);
-
- dbo = get.Data.Data[1];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("442", dbo.SomeText);
-
- dbo = get.Data.Data[2];
- Assert.Equal(142, dbo.SomeInt);
- Assert.Equal("24", dbo.SomeText);
- });
- }
-
- [Fact]
- public void TestGetMultiple6()
- {
- Tests.TestRealDb(context =>
- {
- var dbos = new List<PkGuidAddDbo>
- {
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "442"
- },
- new PkGuidAddDbo
- {
- SomeInt = 42,
- SomeText = "42"
- },
- new PkGuidAddDbo
- {
- SomeInt = 142,
- SomeText = "24"
- }
- };
- var service = new LuUtilsPkGuidDataAccess(context);
- var res = service.AddId(dbos);
- Assert.Equal(LuStatus.Success, res.Status);
-
- var orderBy = LuOrderByBinder.FromString("someText:desc,someInt");
- Assert.Equal(LuStatus.Success, orderBy.Status);
-
- var get = service.GetMultiple(orderBy.Data);
- Assert.Equal(LuStatus.Success, get.Status);
- Assert.Equal(3, get.Data.Count);
- Assert.Equal(3, get.Data.Data.Count);
-
- var dbo = get.Data.Data[0];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("442", dbo.SomeText);
-
- dbo = get.Data.Data[1];
- Assert.Equal(42, dbo.SomeInt);
- Assert.Equal("42", dbo.SomeText);
-
- dbo = get.Data.Data[2];
- Assert.Equal(142, dbo.SomeInt);
- Assert.Equal("24", dbo.SomeText);
- });
- }
- }
- }
|