コード例 #1
0
        public static void InitializeDbForTests(AirplaneProjectContext db)
        {
            var assembly = Assembly.GetAssembly(typeof(JsonUtilities));

            db.Airplanes.AddRange(JsonUtilities.GetListFromJson <Airplane>(assembly.GetManifestResourceStream($"{JSON_PATH}.airplane.json")));

            db.SaveChanges();
        }
コード例 #2
0
        private AirplaneAppService ObterAirplaneAppService(AirplaneProjectContext context)
        {
            var uow = new UnitOfWork(context);
            var airplaneRepository     = new AirplaneRepository(context);
            var airplaneValidator      = new AirplaneValidation(airplaneRepository);
            var incluirAirplaneUsecase = new IncluirAirplaneUsecase(airplaneRepository, airplaneValidator, uow);
            var excluirAirplaneUsecase = new ExcluirAirplaneUsecase(airplaneRepository, airplaneValidator, uow);
            var editarAirplaneUsecase  = new EditarAirplaneUsecase(airplaneRepository, airplaneValidator, uow);
            var mapper = MapperHelper.ConfigMapper();

            return(new AirplaneAppService(airplaneRepository, editarAirplaneUsecase, incluirAirplaneUsecase, excluirAirplaneUsecase, mapper));
        }
コード例 #3
0
        public async Task Get_ReturnsAirplane()
        {
            var options = new DbContextOptionsBuilder <AirplaneProjectContext>()
                          .UseInMemoryDatabase(databaseName: "test_database_return_airplane")
                          .Options;

            Airplane airplane = null;

            using (var context = new AirplaneProjectContext(options))
            {
                context.Database.EnsureCreated();
                Utilities.InitializeDbForTests(context);
                var repository = new AirplaneRepository(context);
                airplane = await repository.GetById(1);

                Assert.NotNull(airplane);
            }
        }
コード例 #4
0
        public async Task Add_ChangesDatabase()
        {
            var options = new DbContextOptionsBuilder <AirplaneProjectContext>()
                          .UseInMemoryDatabase(databaseName: "test_database_change_database")
                          .Options;


            var teste = new AirplaneIncluirDto();

            teste.Codigo = "123";
            teste.Modelo = "234";
            teste.QuantidadePassageiros = 456;

            using (var context = new AirplaneProjectContext(options))
            {
                context.Database.EnsureCreated();

                var airplaneAppService = ObterAirplaneAppService(context);

                _ = await airplaneAppService.Incluir(teste);

                Assert.Equal(1, context.Airplanes.Count());
            }
        }
コード例 #5
0
 public AirplaneRepository(AirplaneProjectContext context)
     : base(context)
 {
     this._context = context ??
                     throw new ArgumentNullException(nameof(context));
 }
コード例 #6
0
 public Repository(AirplaneProjectContext context)
 {
     Db    = context;
     DbSet = Db.Set <TEntity>();
 }