using System; using Luticate2.Auth.DataAccess; using Luticate2.Auth.DataAccess.Models; using Luticate2.Auth.Dbo.Groups; using Luticate2.Utils.Dbo; using Microsoft.EntityFrameworkCore; using Moq; using Xunit; namespace Test.Auth.Groups { public class LuGroupsDataAccessTest { [Fact] public void TestMock() { var mockSet = new Mock>(); var mockContext = new Mock(); mockContext.Setup(m => m.lu_groups).Returns(mockSet.Object); var service = new LuGroupsDataAccess(mockContext.Object); var res = service.AddDbo(new LuGroupsAddDbo {Name = "Test."}); Assert.Equal(LuStatus.Success, res.Status); Assert.Equal(new Guid().ToString(), res.Data.Id); Assert.Equal("Test.", res.Data.Name); mockSet.Verify(m => m.Add(It.IsAny()), Times.Once()); mockContext.Verify(m => m.SaveChanges(), Times.Once()); } [Fact] public void TestReal1() { Tests.TestRealDb(context => { const string name = "Test."; var service = new LuGroupsDataAccess(context); var res = service.AddDbo(new LuGroupsAddDbo {Name = name}); Assert.Equal(LuStatus.Success, res.Status); Assert.NotEqual(new Guid().ToString(), res.Data.Id); Assert.Equal(name, res.Data.Name); var get = service.GetSingleByGuidStr(res.Data.Id); Assert.Equal(LuStatus.Success, get.Status); Assert.Equal(name, get.Data.Name); Assert.Equal(res.Data.Id, get.Data.Id); }); } [Fact] public void TestReal2() { Tests.TestRealDb(context => { const string name = "Test."; var service = new LuGroupsDataAccess(context); var res = service.AddGuid(new LuGroupsAddDbo {Name = name}); Assert.Equal(LuStatus.Success, res.Status); Assert.NotEqual(new Guid(), res.Data); var get = service.GetSingleByGuid(res.Data); Assert.Equal(LuStatus.Success, get.Status); Assert.Equal(name, get.Data.Name); }); } [Fact] public void TestReal3() { Tests.TestRealDb(context => { const string name = "Test."; var service = new LuGroupsDataAccess(context); var res = service.AddGuidStr(new LuGroupsAddDbo {Name = name}); Assert.Equal(LuStatus.Success, res.Status); Assert.NotEqual(new Guid().ToString(), res.Data); var get = service.GetSingleByGuidStr(res.Data); Assert.Equal(LuStatus.Success, get.Status); Assert.Equal(name, get.Data.Name); }); } } }