public void SetupBase()
        {
            _plantProviderMock = new Mock <IPlantProvider>();
            _plantProviderMock.SetupGet(x => x.Plant).Returns(TestPlant);
            _plantProvider = _plantProviderMock.Object;

            var currentUserProviderMock = new Mock <ICurrentUserProvider>();

            currentUserProviderMock.Setup(x => x.GetCurrentUserOid()).Returns(_currentUserOid);
            _currentUserProvider = currentUserProviderMock.Object;

            var eventDispatcher = new Mock <IEventDispatcher>();

            _eventDispatcher = eventDispatcher.Object;

            _timeProvider = new ManualTimeProvider(new DateTime(2020, 2, 1, 0, 0, 0, DateTimeKind.Utc));
            TimeService.SetProvider(_timeProvider);

            _dbContextOptions = new DbContextOptionsBuilder <POContext>()
                                .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                .Options;

            // ensure current user exists in db
            using (var context = new POContext(_dbContextOptions, _plantProvider, _eventDispatcher, _currentUserProvider))
            {
                if (context.Persons.SingleOrDefault(p => p.Oid == _currentUserOid) == null)
                {
                    AddPerson(context, _currentUserOid, "Ole", "Lukkøye");
                }
            }

            SetupNewDatabase(_dbContextOptions);
        }
        protected Person AddPerson(POContext context, Guid oid, string firstName, string lastName)
        {
            var person = new Person(oid, firstName, lastName);

            context.Persons.Add(person);
            context.SaveChangesAsync().Wait();
            return(person);
        }
Example #3
0
 protected RepositoryBase(POContext context, DbSet <TEntity> set, IQueryable <TEntity> defaultQuery)
 {
     _context     = context;
     Set          = set;
     DefaultQuery = defaultQuery;
 }
Example #4
0
 protected RepositoryBase(POContext context, DbSet <TEntity> set)
     : this(context, set, set)
 {
 }
 public PersonRepository(POContext context)
     : base(context, context.Persons)
 {
 }