您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

34 行
1.2 KiB

  1. using System.Collections.Generic;
  2. using System.Linq.Expressions;
  3. using Core.Db;
  4. using Domain;
  5. using Domain.Identity;
  6. using EntityFrameworkCoreMock;
  7. using Microsoft.EntityFrameworkCore;
  8. using Moq;
  9. using Moq.EntityFrameworkCore;
  10. public static class MockDb
  11. {
  12. private static DbContextOptions<PanakDbContext> DummyOptions { get; } = new DbContextOptionsBuilder<PanakDbContext>().Options;
  13. private static DbContextMock<PanakDbContext> Db { set; get; }
  14. private static Mock<DbSet<Account>> MockAccountsSet { set; get; }
  15. public static DbContextMock<PanakDbContext> GetInstance()
  16. {
  17. if (Db?.Object != null)
  18. return Db;
  19. var data = new List<Account>();
  20. Db = new DbContextMock<PanakDbContext>(DummyOptions);
  21. Db.CreateDbSetMock(x => x.Set<Account>(), new List<Account>());
  22. Db.CreateDbSetMock(x => x.Set<AccountRole>(), new List<AccountRole>());
  23. Db.CreateDbSetMock(x => x.Set<LoginToken>(), new List<LoginToken>());
  24. Db.CreateDbSetMock(x => x.Set<Role>(), new List<Role>());
  25. Db.CreateDbSetMock(x => x.Set<FcmToken>(), new List<FcmToken>());
  26. Db.CreateDbSetMock(x => x.Set<RefreshToken>(), new List<RefreshToken>());
  27. return Db;
  28. }
  29. }