Beispiel #1
0
        private BookProxy GetByIdAsync(Guid id, Settings settings = null)
        {
            settings = settings ?? Settings.Empty;

            var config = ConfigurationStub.Create(() =>
            {
                return(settings);
            });

            var service = new BookService(Db, BusPublisherStub.Create(), config, TenantAccessorStub.Create());

            return(service.GetByIdAsync(id).GetAwaiter().GetResult());
        }
Beispiel #2
0
        private PagedResponse <BookProxy> GetByFilterAsync(PagedRequest <BookFilterPayload> pagination, Settings settings = null)
        {
            settings = settings ?? Settings.Empty;

            var config = ConfigurationStub.Create(() =>
            {
                return(settings);
            });

            var service = new BookService(Db, BusPublisherStub.Create(), config, TenantAccessorStub.Create());

            return(service.GetByFilterAsync(pagination).GetAwaiter().GetResult());
        }
Beispiel #3
0
        private BookUpdateMessage SaveAsync(BookMessage model, Settings settings = null)
        {
            settings = settings ?? Settings.Empty;

            var config = ConfigurationStub.Create(() =>
            {
                return(settings);
            });

            var bus = BusPublisherStub.Create();

            var service = new BookService(Db, bus, config, TenantAccessorStub.Create());

            service.SaveAsync(model).Wait();

            return(bus.DequeueExchange <BookUpdateMessage>(ExchangeNames.Book));
        }
Beispiel #4
0
        public static TDataContext GetDbContext <TDataContext>()
            where TDataContext : DbContext
        {
            var builder = new DbContextOptionsBuilder <TDataContext>();

            builder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            var options = builder.Options;

            var tenantAccessor = new TenantAccessorStub();
            var userAccessor   = new UserAccessorStub();

            var db = (TDataContext)Activator.CreateInstance(typeof(TDataContext), options, tenantAccessor, userAccessor);

            db.Database.EnsureDeleted();
            db.Database.EnsureCreated();

            return(db);
        }
Beispiel #5
0
        private (ShippingDtoMessage Dto, DropCopyNumberMessage Proxy) CreateAsync(PurchaseMessage message, Settings settings = null)
        {
            settings = settings ?? Settings.Empty;

            var config = ConfigurationStub.Create(() =>
            {
                return(settings);
            });

            var bus = BusPublisherStub.Create();

            var service = new PurchaseService(Db, bus, config, TenantAccessorStub.Create());

            service.CreateAsync(message).Wait();

            var drop    = bus.Dequeue <DropCopyNumberMessage>(QueueNames.Library);
            var payload = bus.Dequeue <ShippingDtoMessage>(QueueNames.Bookstore);

            return(payload, drop);
        }