Example #1
0
        public async void GetTipoPersonaAsync_ReturnExpectedPageSize()
        {
            //  Arrange
            var dbOptions = new DbContextOptionsBuilder <VisitPopDbContext>()
                            .UseInMemoryDatabase(databaseName: $"TipoPersonaDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptios = Options.Create(new SieveOptions());

            var fakeTipoPeronaOne = new FakeTipoPersona {
            }.Ignore(t => t.Id).Generate();

            fakeTipoPeronaOne.Id = 1;
            var fakeTipoPeronaTwo = new FakeTipoPersona {
            }.Ignore(t => t.Id).Generate();

            fakeTipoPeronaTwo.Id = 2;
            var fakeTipoPeronaThree = new FakeTipoPersona {
            }.Ignore(t => t.Id).Generate();

            fakeTipoPeronaThree.Id = 3;

            //  Act
            using (var context = new VisitPopDbContext(dbOptions))
            {
                context.PersonTypes.AddRange(fakeTipoPeronaOne, fakeTipoPeronaTwo, fakeTipoPeronaThree);
                context.SaveChanges();

                var service = new PersonTypeRepository(context, new SieveProcessor(sieveOptios));

                var tipoPersonaRepo = await service.GetTipoPersonas(new PersonTypeParametersDto { PageSize = 2 });

                //  Assert
                tipoPersonaRepo.Should()
                .NotBeEmpty()
                .And.HaveCount(2);

                tipoPersonaRepo.Should().ContainEquivalentOf(fakeTipoPeronaOne);
                tipoPersonaRepo.Should().ContainEquivalentOf(fakeTipoPeronaTwo);

                context.Database.EnsureDeleted();
            }
        }
Example #2
0
        public async void GetTipoPersonasAsync_FilterNombreListWithExact()
        {
            //  Arrange
            var dbOptions = new DbContextOptionsBuilder <VisitPopDbContext>()
                            .UseInMemoryDatabase(databaseName: $"TipoPersonaDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeTipoPersonaOne = new FakeTipoPersona {
            }.Generate();

            fakeTipoPersonaOne.Name = "alpha";

            var fakeTipoPersonaTwo = new FakeTipoPersona {
            }.Generate();

            fakeTipoPersonaTwo.Name = "bravo";

            var fakeTipoPersonaThree = new FakeTipoPersona {
            }.Generate();

            fakeTipoPersonaThree.Name = "charlie";

            //  Act
            using (var context = new VisitPopDbContext(dbOptions))
            {
                context.PersonTypes.AddRange(fakeTipoPersonaOne, fakeTipoPersonaTwo, fakeTipoPersonaThree);
                context.SaveChanges();

                var service = new PersonTypeRepository(context, new SieveProcessor(sieveOptions));

                var tipoPersonaRepo = await service.GetTipoPersonas(new PersonTypeParametersDto { Filters = $"Nombre == {fakeTipoPersonaTwo.Name}" });

                //  Assert
                tipoPersonaRepo.Should()
                .HaveCount(1);

                context.Database.EnsureDeleted();
            }
        }
Example #3
0
        public async void GetTipoPersonasAsync_ListTipoPersonaIdSortedInDescOrder()
        {
            //  Arrange
            var dbOptions = new DbContextOptionsBuilder <VisitPopDbContext>()
                            .UseInMemoryDatabase(databaseName: $"TipoPersonaDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeTipoPersonaOne = new FakeTipoPersona {
            }.Generate();

            fakeTipoPersonaOne.Id = 2;

            var fakeTipoPersonaTwo = new FakeTipoPersona {
            }.Generate();

            fakeTipoPersonaTwo.Id = 1;

            var fakeTipoPersonaThree = new FakeTipoPersona {
            }.Generate();

            fakeTipoPersonaThree.Id = 3;

            //  Act
            using (var context = new VisitPopDbContext(dbOptions))
            {
                context.PersonTypes.AddRange(fakeTipoPersonaOne, fakeTipoPersonaTwo, fakeTipoPersonaThree);
                context.SaveChanges();

                var service = new PersonTypeRepository(context, new SieveProcessor(sieveOptions));

                var tipoPersonaRepo = await service.GetTipoPersonas(new PersonTypeParametersDto { SortOrder = "-Id" });

                //  Assert
                tipoPersonaRepo.Should()
                .ContainInOrder(fakeTipoPersonaThree, fakeTipoPersonaOne, fakeTipoPersonaTwo);

                context.Database.EnsureDeleted();
            }
        }