示例#1
0
    def setUp(self):
        '''Crea una colección para hacer las pruebas'''
        self.cuentas_claras = Cuentas_claras()

        '''Abre la sesión'''
        self.session = Session()

        self.data_factory = Faker()

        Faker.seed(1000)

        # crear nombres y apellidos random invalidos

        self.nombres_invalidos= []

        for _ in range(10):
            self.nombres_invalidos.append(self.data_factory.bothify(text='#?#?##?',letters='!"#$%&/()='))

        # crear viajeros random 

        self.viajeros = []

        for _ in range(10):
            viajero = Viajero(self.data_factory.unique.first_name(),self.data_factory.unique.last_name())
            self.viajeros.append(viajero)

        self.session.close()
示例#2
0
    def setUp(self):
        '''Crea una colección para hacer las pruebas'''
        self.cuentas_claras = Cuentas_claras()
        '''Abre la sesión'''
        self.session = Session()
        '''Crear Faker '''
        self.data_factory = Faker()

        Faker.seed(1000)
        '''Crea las actividades'''
        # crear actividades random

        self.actividades = []

        for _ in range(1):
            actividad = Actividad(nombre=self.data_factory.unique.name())
            self.session.add(actividad)
            self.actividades.append(actividad)

        # crear viajeros random
        self.viajeros = []

        for _ in range(4):
            viajero = Viajero(self.data_factory.unique.first_name(),
                              self.data_factory.unique.last_name())
            self.session.add(viajero)
            self.viajeros.append(viajero)

        for i in range(len(self.viajeros)):
            self.actividades[0].agregar_viajero_en_actividad(self.viajeros[i])

        # crear gastos random

        self.gastos = []
        for _ in range(8):
            gasto = Gasto(concepto=self.data_factory.unique.name(),
                          valor=random.uniform(1, 1000),
                          fecha_gasto=datetime.strptime(
                              self.data_factory.date(), '%Y-%m-%d'))
            self.session.add(gasto)
            self.gastos.append(gasto)

        # se asigna aleatoriamente los gastos a los viajeros
        for i in range(len(self.gastos)):
            viajero_id = random.randrange(len(self.viajeros))
            self.viajeros[viajero_id].agregar_gasto(self.gastos[i])

        for i in range(len(self.gastos)):
            self.actividades[0].agregar_gasto(self.gastos[i])
        '''Persiste los objetos y cierra la sesión'''
        self.session.commit()
示例#3
0
    def setUp(self):
        '''Crea una colección para hacer las pruebas'''
        self.cuentas_claras = Cuentas_claras()
        '''Abre la sesión'''
        self.session = Session()

        self.data_factory = Faker()

        Faker.seed(1000)

        # crear actividades random

        self.actividades = []

        for _ in range(2):
            actividad = Actividad(nombre=self.data_factory.text())
            self.session.add(actividad)
            self.actividades.append(actividad)

        # crear viajeros random
        self.viajeros = []

        for _ in range(2):
            viajero = Viajero(self.data_factory.unique.first_name(),
                              self.data_factory.unique.last_name())
            self.session.add(viajero)
            self.viajeros.append(viajero)

        self.actividades[1].agregar_viajero_en_actividad(self.viajeros[0])
        self.actividades[1].agregar_viajero_en_actividad(self.viajeros[1])

        # crear gastos random

        self.gastos = []
        for _ in range(2):
            gasto = Gasto(concepto=self.data_factory.text(),
                          valor=random.uniform(1, 1000),
                          fecha_gasto=datetime.strptime(
                              self.data_factory.date(), '%Y-%m-%d'))
            self.session.add(gasto)
            self.gastos.append(gasto)

        self.viajeros[0].agregar_gasto(self.gastos[0])
        self.viajeros[0].agregar_gasto(self.gastos[1])

        self.actividades[1].agregar_gasto(self.gastos[0])
        self.actividades[1].agregar_gasto(self.gastos[1])

        self.session.commit()
示例#4
0
    def agregar_viajero(self, nombre, apellido):

        if nombre == "" or apellido == "":
            return None

        if not nombre.isalpha() or not apellido.isalpha():
            return None

        viajeros = self.session.query(Viajero).filter(
            Viajero.nombre == nombre, Viajero.apellido == apellido).all()

        if len(viajeros) > 0:
            return None

        viajero = Viajero(nombre, apellido)
        self.session.add(viajero)
        self.session.commit()
        return True
    def setUp(self):
        ''' Se puebla la base de datos para las pruebas'''

        self.session = Session()

        busqueda_actividad = self.session.query(Actividad).all()
        for actividad in busqueda_actividad:
            self.session.delete(actividad)

        busqueda_viajero = self.session.query(Viajero).all()
        for viajero in busqueda_viajero:
            self.session.delete(viajero)

        busqueda_gasto = self.session.query(Gasto).all()
        for gasto in busqueda_gasto:
            self.session.delete(gasto)

        busqueda_av = self.session.query(ActividadViajero).all()
        for av in busqueda_av:
            self.session.delete(av)
        self.session.commit()

        #  Crear actividades y agregarlas a la base de datos con add y commit
        self.actividad_1 = Actividad("Paseo a la Playa")
        self.actividad_2 = Actividad("Caminata")
        self.session.add(self.actividad_1)
        self.session.add(self.actividad_2)
        self.session.commit()

        # Crear los viajeros y agregarlos a la base de datos con add y commit
        self.viajero_1 = Viajero("Juan", "Perez")
        self.viajero_2 = Viajero("Rosa", "Garcia")
        self.viajero_3 = Viajero("Luis", "Mora")
        self.viajero_4 = Viajero("Ana", "Zavala")
        self.session.add(self.viajero_1)
        self.session.add(self.viajero_2)
        self.session.add(self.viajero_3)
        self.session.add(self.viajero_4)
        self.session.commit()

        # Crear los gastos.  Note que el atributo fecha en este momento es String.

        self.gasto_1 = Gasto("Transporte", 100, '21-01-2021')
        self.gasto_2 = Gasto("Comida", 200, '22-01-2021')
        self.gasto_3 = Gasto("Bebida", 90, '23-01-2021')
        self.gasto_4 = Gasto("Fiesta", 120, '24-01-2021')
        self.gasto_5 = Gasto("Transporte", 150, '28-01-2021')
        self.session.add(self.gasto_1)
        self.session.add(self.gasto_2)
        self.session.add(self.gasto_3)
        self.session.add(self.gasto_4)
        self.session.add(self.gasto_5)
        self.session.commit()

        #  Crea las relaciones entre actividad y viajero (cuales son los viajeros asociados a cada actividad)

        self.actividad_1.viajeros = [
            self.viajero_1, self.viajero_2, self.viajero_3, self.viajero_4
        ]
        self.actividad_2.viajeros = [self.viajero_2]

        # Crea las relaciones entre actividad y gasto *(cuales son los gastos de cada actividad)

        self.actividad_1.gastos = [
            self.gasto_1, self.gasto_2, self.gasto_3, self.gasto_4
        ]
        self.actividad_2.gastos = [self.gasto_5]

        # Crea las relaciones entre viajero y gastos (que viajero realizo cada gasto)

        self.viajero_1.gastos = [self.gasto_1, self.gasto_3]
        self.viajero_2.gastos = [self.gasto_2, self.gasto_5]
        self.viajero_3.gastos = [self.gasto_4]
        self.viajero_4.gastos = []
        self.session.commit()

        # Cierra la sesion
        self.session.close()
from src.modelo.declarative_base import Session, engine, Base

if __name__ == '__main__':
    Base.metadata.create_all(engine)

    session = Session()

    #  Crear actividades y agregarlas a la base de datos con add y commit
    actividad_1 = Actividad("Paseo a la Playa")
    actividad_2 = Actividad("Caminata")
    session.add(actividad_1)
    session.add(actividad_2)
    session.commit()

    # Crear los viajeros y agregarlos a la base de datos con add y commit
    viajero_1 = Viajero("Juan", "Perez")
    viajero_2 = Viajero("Rosa", "Garcia")
    viajero_3 = Viajero("Luis", "Mora")
    viajero_4 = Viajero("Ana", "Zavala")
    session.add(viajero_1)
    session.add(viajero_2)
    session.add(viajero_3)
    session.add(viajero_4)
    session.commit()

    # Crear los gastos.  Note que el atributo fecha en este momento es String.

    gasto_1 = Gasto("Transporte", 100, '21-01-2021')
    gasto_2 = Gasto("Comida", 200, '22-01-2021')
    gasto_3 = Gasto("Bebida", 90, '23-01-2021')
    gasto_4 = Gasto("Fiesta", 120, '24-01-2021')