private string GenerateLogMessage(SaleLogs logType) { var logMessage = (string)typeof(SaleLogsMessages).GetField(logType.ToString()).GetValue(null); return(logMessage); }
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!"); } }