Example #1
0
        public async Task <TModel> AddLogToSale <TModel>(Guid?saleId, SaleLogs logType)
        {
            var sale = this.dbContext.Sales.Where(s => s.Id == saleId).FirstOrDefault();

            if (sale == null)
            {
                throw new NullReferenceException(SaleNotFound);
            }

            var logMessage = this.GenerateLogMessage(logType);

            var saleLog =
                (await this.dbContext.SaleLogs.AddAsync(new SaleLog {
                Content = logMessage, SaleId = saleId
            })).Entity
                .To <TModel>();

            await this.dbContext.SaveChangesAsync();

            return(saleLog);
        }
Example #2
0
 public SaleCoursesPage ChangelSaleAndGoToSalePage()
 {
     SaleLogs.First <DiaryLog>().ClickOnLog();
     WaitForElement(By.Id("btnChangeSale"), 10).Click();
     return(new SaleCoursesPage(driver));
 }
Example #3
0
 public CancelSalePage ClickOnCancelButtonAndGoToCancelSale()
 {
     SaleLogs.First <DiaryLog>().ClickOnLog();
     WaitForElement(By.Id("btnCancelSale"), 10).Click();
     return(new CancelSalePage(driver));
 }
Example #4
0
        private string GenerateLogMessage(SaleLogs logType)
        {
            var logMessage = (string)typeof(SaleLogsMessages).GetField(logType.ToString()).GetValue(null);

            return(logMessage);
        }
Example #5
0
        public async Task AddTogToSaleShouldAddLogToSaleWithCorrectLogMessageAndCorrectSaleId(SaleLogs logType)
        {
            var sale = new Sale();

            await this.dbContext.Sales.AddAsync(sale);

            await this.dbContext.SaveChangesAsync();

            await this.saleLogsService.AddLogToSale <AddLogToSaleResourceModel>(sale.Id, logType);

            var log = await this.dbContext.SaleLogs.FirstOrDefaultAsync(sl => sl.SaleId == sale.Id);

            var saleLogMessagesMessagesConstantField = typeof(SaleLogsMessages)
                                                       .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy)
                                                       .Where(fi => fi.IsLiteral && !fi.IsInitOnly).First(fi => fi.Name == logType.ToString());

            if (saleLogMessagesMessagesConstantField != null)
            {
                Assert.Equal((string)saleLogMessagesMessagesConstantField.GetRawConstantValue(), log.Content);
            }
            else
            {
                throw new NullReferenceException(
                          "Provided enum value has no correspodning logType message in SaleLogsMessages!");
            }
        }