public async void Update_Entity_Is_Not_Tracked()
        {
            Mock <ILogger <SaleRepository> > loggerMoc = SaleRepositoryMoc.GetLoggerMoc();
            ApplicationDbContext             context   = SaleRepositoryMoc.GetContext();
            var  repository = new SaleRepository(loggerMoc.Object, context);
            Sale entity     = new Sale();

            context.Set <Sale>().Add(entity);
            await context.SaveChangesAsync();

            await repository.Update(new Sale());

            var modifiedRecord = context.Set <Sale>().FirstOrDefaultAsync();

            modifiedRecord.Should().NotBeNull();
        }
        public async void Update_Entity_Is_Not_Tracked()
        {
            Mock <ILogger <SaleRepository> > loggerMoc = SaleRepositoryMoc.GetLoggerMoc();
            ApplicationDbContext             context   = SaleRepositoryMoc.GetContext();
            var  repository = new SaleRepository(loggerMoc.Object, context);
            Sale entity     = new Sale();

            entity.SetProperties(default(int), "B", "B", DateTime.Parse("1/1/1988 12:00:00 AM"), 1);
            context.Set <Sale>().Add(entity);
            await context.SaveChangesAsync();

            context.Entry(entity).State = EntityState.Detached;

            await repository.Update(entity);

            var records = await context.Set <Sale>().ToListAsync();

            records.Count.Should().Be(2);
        }