示例#1
0
        public void Post_SendBookOrder_ExampleOfOverrideWithMock_ShouldSucceed()
        {
            BookOrder bookOrder = BookOrder.CreateNew("SupplierFoo", Guid.NewGuid());

            bookOrder.Approve();

            IBookOrderRepository mockBookOrderRepository = Substitute.For <IBookOrderRepository>();

            mockBookOrderRepository.Get(bookOrder.Id).Returns(bookOrder);

            TestContainerRegistrations = container =>
            {
                container.RegisterInstance(mockBookOrderRepository);
            };

            StartServer();

            // act
            var result = Client.Post($"bookOrders/{bookOrder.Id}/send", null);

            // assert
            result.StatusCode.Should().Be(HttpStatusCode.OK);

            mockBookOrderRepository.Received(1).Store(Arg.Is <BookOrder>(
                                                          x => x.Id == bookOrder.Id &&
                                                          x.State == BookOrderState.Sent));
        }
示例#2
0
 public BookController(IBookRepository bookRepository, IMapper mapper, IBookOrderRepository bookOrderRepository, IUserRepository userRepository)
 {
     _bookRepository      = bookRepository;
     _mapper              = mapper;
     _bookOrderRepository = bookOrderRepository;
     _userRepository      = userRepository;
 }
 public AbstractOrderController(IOrdersRepository ordersRepository,
                                IBookOrderRepository bookOrderRepository, IBooksRepository booksRepository)
 {
     _ordersRepository = ordersRepository;
     _boRepository     = bookOrderRepository;
     _booksRepository  = booksRepository;
 }
示例#4
0
        public async Task <IActionResult> ShowReturnedBooks([FromServices] IBookOrderRepository boRepository,
                                                            [FromServices] UserManager <User> userManager)
        {
            var userID = (await userManager.FindByNameAsync(User.Identity.Name)).Id;

            return(View(boRepository.GetReturnedBooks().ToList()));
        }
 public AddBookTitleRequestUseCase(IBookOrderRepository bookOrderRepository)
 {
     if (bookOrderRepository == null)
     {
         throw new ArgumentNullException(nameof(bookOrderRepository));
     }
     _bookOrderRepository = bookOrderRepository;
 }
 public GetAllBookOrdersUseCase(IBookOrderRepository bookOrderRepository)
 {
     if (bookOrderRepository == null)
     {
         throw new ArgumentNullException(nameof(bookOrderRepository));
     }
     _bookOrderRepository = bookOrderRepository;
 }
示例#7
0
        public async Task <IActionResult> ShowStore([FromServices] IBookOrderRepository boRepository,
                                                    [FromServices] UserManager <User> userManager)
        {
            var userID = (await userManager.FindByNameAsync(User.Identity.Name)).Id;

            return(View(new StoreBooksViewModel
            {
                StoreBooks = boRepository.GetBooksForUser(userID, null).ToList(),
                NotConfirmedBooks = boRepository.GetBooksForUser(userID, false).ToList()
            }));
        }
示例#8
0
 public BasketService(IBookOrderService bookOrderService,
                      IBookOrderRepository bookOrderRepository,
                      IBookRepository bookRepository,
                      IBasketRepository basketRepository,
                      IBookService bookService)
 {
     _bookOrderService    = bookOrderService;
     _bookOrderRepository = bookOrderRepository;
     _bookRepository      = bookRepository;
     _basketRepository    = basketRepository;
     _bookService         = bookService;
 }
示例#9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BooksController"/> class.
 /// </summary>
 /// <param name="bookRepository">The book repository. This will be injected.</param>
 /// <param name="bookHistoryRepository">The book history repository. This will be injected.</param>
 /// <param name="authRepository">The authentication repo. This will be injected.</param>
 /// <param name="personRepository">The person repository. This will be injected.</param>
 /// <param name="bookOrderRepository">The book order repository. This will be injected.</param>
 public BooksController(
     IBookRepository bookRepository,
     IBookHistoryRepository bookHistoryRepository,
     IAuthenticationRepository authRepository,
     IPersonRepository personRepository,
     IBookOrderRepository bookOrderRepository)
 {
     this._bookRepository        = bookRepository;
     this._bookHistoryRepository = bookHistoryRepository;
     this._authRepository        = authRepository;
     this._personRepository      = personRepository;
     this._bookOrderRepository   = bookOrderRepository;
 }
示例#10
0
 public SendBookOrderUseCase(IBookOrderRepository bookOrderRepository,
                             IBookSupplierGateway bookSupplierGateway)
 {
     if (bookOrderRepository == null)
     {
         throw new ArgumentNullException(nameof(bookOrderRepository));
     }
     if (bookSupplierGateway == null)
     {
         throw new ArgumentNullException(nameof(bookSupplierGateway));
     }
     _bookOrderRepository = bookOrderRepository;
     _bookSupplierGateway = bookSupplierGateway;
 }
        private void ApproveBookOrders()
        {
            IBookOrderRepository    bookOrderRepository     = Container.GetInstance <IBookOrderRepository>();
            ApproveBookOrderUseCase approveBookOrderUseCase = Container.GetInstance <ApproveBookOrderUseCase>();
            Random rand = new Random();

            while (!_shutdown)
            {
                var bookOrderToApprove = bookOrderRepository.GetByState(BookOrderState.New).FirstOrDefault();

                if (bookOrderToApprove != null)
                {
                    approveBookOrderUseCase.Execute(bookOrderToApprove.Id);
                }

                Thread.Sleep(rand.Next(1000, 10000));
            }
        }
 public ApproveBookOrderUseCaseTests()
 {
     _bookOrderRepository = new BookOrderRepository();
 }
示例#13
0
 public BookOrderRepositoryHelper()
 {
     this._BookOrderRepository = new DAL.BookOrderRepository(new BookOrderContext());
 }
 public OrderBookUseCaseTriggerTests()
 {
     _bookOrderRepository = Substitute.For <IBookOrderRepository>();
 }
示例#15
0
 public BookOrderService(IBookOrderRepository bookOrderRepository)
 {
     _bookOrderRepository = bookOrderRepository;
 }
示例#16
0
 public StoreController(IBookOrderRepository bookOrderRepository)
 {
     _boRepository = bookOrderRepository;
 }
示例#17
0
 public UsersController(IUserRepository userRepository, IBookOrderRepository bookOrderRepository)
 {
     _userRepository      = userRepository;
     _bookOrderRepository = bookOrderRepository;
 }
 public SendBookOrderUseCaseTests()
 {
     _bookOrderRepository         = new BookOrderRepository();
     _bookSupplierGatewayInMemory = new BookSupplierGatewayInMemory();
 }
示例#19
0
 public OrderController(IOrdersRepository ordersRepository, IBookOrderRepository bookOrderRepository, IBooksRepository booksRepository) :
     base(ordersRepository, bookOrderRepository, booksRepository)
 {
 }
示例#20
0
 public AddBookTitleRequestUseCaseTests()
 {
     _bookOrderRepository = new BookOrderRepository();
 }
示例#21
0
 public SupplierBookOrderUpdateUseCase(IBookOrderRepository bookOrderRepository,
                                       IBookOrderLineConflictRepository bookOrderLineConflictRepository)
 {
     _bookOrderRepository             = bookOrderRepository;
     _bookOrderLineConflictRepository = bookOrderLineConflictRepository;
 }