class AlbumTestCase(unittest.TestCase):
    def setUp(self):
        self.session = Session()
        self.coleccion = Coleccion()

    def testAgregarAlbum(self):
        self.coleccion.agregar_album("Mio", 2000, "Sin descripción", "CD")
        self.coleccion.agregar_album("Clara luna", 1992, "Sin descripción",
                                     "CASETE")
        self.consulta1 = self.session.query(Album).filter(
            Album.titulo == "Mio").first()
        self.consulta2 = self.session.query(Album).filter(
            Album.id == 2).first()
        self.assertEqual(self.consulta1.titulo, "Mio")
        self.assertIsNotNone(self.consulta2)

    def testEditarAlbum(self):
        self.coleccion.editar_album(2, "Clara luna-Mix", 1982,
                                    "Sin descripción", "DISCO")
        self.consulta = self.session.query(Album).filter(Album.id == 2).first()
        self.assertIsNot(self.consulta.titulo, "Clara luna")

    def testDarAlbumPorId(self):
        self.coleccion.agregar_album("Infinito arcoiris", 1990,
                                     "Sin descripción", "CASETE")
        self.album_id = self.session.query(Album).filter(
            Album.titulo == "Infinito arcoiris").first().id
        self.consulta = self.coleccion.dar_album_por_id(
            self.album_id)["titulo"]
        self.assertEqual(self.consulta, "Infinito arcoiris")
예제 #2
0
class AlbumTestCase(unittest.TestCase):

    def setUp(self):
        self.session = Session()
        self.coleccion = Coleccion()
        # Generación de datos con libreria Faker
        self.data_factory = Faker()

    def test_agregar_album(self):
        # Nombre aleatorio
        titulo_album1 = self.data_factory.name()
        # Año aleatorio
        anio_album1 = self.data_factory.year()
        # Frase aleatoria
        descripcion_album1 = self.data_factory.sentence()
        self.coleccion.agregar_album(titulo_album1, anio_album1, descripcion_album1, "CD")
        descripcion_album2 = self.data_factory.sentence()
        self.coleccion.agregar_album("Live Killers", 2013, descripcion_album2, "CASETE")
        anio_album3 = self.data_factory.year()
        descripcion_album3 = self.data_factory.sentence()
        self.coleccion.agregar_album("Clara luna", anio_album3, descripcion_album3, "CASETE")
        consulta1 = self.session.query(Album).filter(Album.titulo == titulo_album1).first()
        consulta2 = self.session.query(Album).filter(Album.id == 2).first()
        self.assertEqual(consulta1.titulo, titulo_album1)
        self.assertIsNotNone(consulta2)
        # self.assertIsNotNone(None)

    def test_editar_album(self):
        nueva_descripcion_album = self.data_factory.sentence()
        self.coleccion.editar_album(2, "Clara luna-Mix", 2013, nueva_descripcion_album, "DISCO")
        consulta = self.session.query(Album).filter(Album.id == 2).first()
        self.assertIsNot(consulta.titulo, "Live Killers")

    def test_eliminar_album(self):
        self.coleccion.eliminar_album(1)
        consulta = self.session.query(Album).filter(Album.id == 1).first()
        self.assertIsNone(consulta)

    def test_dar_albumes(self):
        consulta1 = self.coleccion.dar_albumes()
        titulo_album = self.data_factory.name()
        anio_album = self.data_factory.year()
        descripcion_album = self.data_factory.sentence()
        self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CD")
        consulta2 = self.coleccion.dar_albumes()
        self.assertGreaterEqual(len(consulta2), len(consulta1))

    def test_dar_album_por_id(self):
        titulo_album = self.data_factory.name()
        anio_album = self.data_factory.year()
        descripcion_album = self.data_factory.sentence()
        self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CASETE")
        album_id = self.session.query(Album).filter(Album.titulo == titulo_album).first().id
        consulta = self.coleccion.dar_album_por_id(album_id)["titulo"]
        self.assertEqual(consulta, titulo_album)

    def test_buscar_albumes_por_titulo(self):
        consulta1 = self.coleccion.buscar_albumes_por_titulo("clara luna")
        anio_album = self.data_factory.year()
        descripcion_album = self.data_factory.sentence()
        self.coleccion.agregar_album("Clara luna-Instrumental", anio_album, descripcion_album, "CD")
        consulta2 = self.coleccion.buscar_albumes_por_titulo("clara luna")
        self.assertLessEqual(len(consulta1), len(consulta2))
예제 #3
0
 def setUp(self):
     self.session = Session()
     self.coleccion = Coleccion()
     # Generación de datos con libreria Faker
     self.data_factory = Faker()
예제 #4
0
import sys

import src.vista.interfaz_coleccion as ic
from src.logica.coleccion import Coleccion
from src.modelo.declarative_base import session, Base, engine

if __name__ == '__main__':
    Base.metadata.create_all(engine)
    session.close()
    
    coleccion = Coleccion()

    app = ic.App(sys.argv, coleccion)
    sys.exit(app.exec_())
 def setUp(self):
     self.session = Session()
     self.coleccion = Coleccion()
class CancionTestCase(unittest.TestCase):

    def setUp(self):
        self.session = Session()
        self.coleccion = Coleccion()
        # Generación de datos con libreria Faker
        self.data_factory = Faker()

    def test_cancion_sin_interpretes(self):
        # Nombre aleatorio
        titulo_cancion = self.data_factory.name()
        # Número aleatorio entre 0 y 60
        minutos_cancion = self.data_factory.pyint(0, 60)
        segundos_cancion = self.data_factory.pyint(0, 60)
        compositor_cancion = self.data_factory.name()
        cancion = self.coleccion.agregar_cancion(titulo_cancion, minutos_cancion, segundos_cancion, compositor_cancion, -1, [])
        self.assertEqual(cancion, False)

    def test_cancion_varios_interpretes(self):
        nombre_interprete1 = self.data_factory.name()
        # Frase aleatoria
        texto_curiosidades1 = self.data_factory.sentence()
        self.coleccion.agregar_interprete(nombre_interprete1, texto_curiosidades1, -1)
        nombre_interprete2 = self.data_factory.name()
        texto_curiosidades2 = self.data_factory.sentence()
        self.coleccion.agregar_interprete(nombre_interprete2, texto_curiosidades2, -1)
        titulo_cancion = self.data_factory.name()
        minutos_cancion = self.data_factory.pyint(0, 60)
        segundos_cancion = self.data_factory.pyint(0, 60)
        compositor_cancion = self.data_factory.name()
        self.coleccion.agregar_cancion(titulo_cancion, minutos_cancion, segundos_cancion, compositor_cancion, -1,
                                       [{'nombre': nombre_interprete1, 'texto_curiosidades': texto_curiosidades1},
                                        {'nombre': nombre_interprete2,
                                         'texto_curiosidades': texto_curiosidades2}])
        consulta = self.session.query(Cancion).filter(Cancion.titulo == titulo_cancion).first()
        self.assertIsNotNone(consulta)

    def test_cancion_con_album(self):
        titulo_album = self.data_factory.name()
        # Año aleatorio
        anio_album = self.data_factory.year()
        descripcion_album = self.data_factory.sentence()
        self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CD")
        consulta1 = self.session.query(Album).filter(Album.titulo == titulo_album).first().id
        self.coleccion.agregar_interprete("Alejandra Guzman", "Canción dedicada a su ...", -1)
        minutos_cancion = self.data_factory.pyint(0, 60)
        segundos_cancion = self.data_factory.pyint(0, 60)
        compositor_cancion = self.data_factory.name()
        self.coleccion.agregar_cancion("Bye mamá", minutos_cancion, segundos_cancion, compositor_cancion, consulta1,
                                       [{'nombre': 'Alejandra Guzman',
                                         'texto_curiosidades': 'Canción dedicada a su ...'}])
        consulta2 = self.session.query(Cancion).filter(Cancion.titulo == "Bye mamá").first()
        self.assertNotEqual(len(consulta2.albumes), 0)

    def test_cancion_repetida_album(self):
        titulo_album = self.data_factory.name()
        anio_album = self.data_factory.year()
        descripcion_album = self.data_factory.sentence()
        self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CD")
        consulta1 = self.session.query(Album).filter(Album.titulo == titulo_album).first().id
        nombre_interprete1 = self.data_factory.name()
        # Texto aleatorio
        texto_curiosidades1 = self.data_factory.text()
        self.coleccion.agregar_interprete(nombre_interprete1, texto_curiosidades1, -1)
        titulo_cancion1 = self.data_factory.name()
        minutos_cancion1 = self.data_factory.pyint(0, 60)
        segundos_cancion1 = self.data_factory.pyint(0, 60)
        compositor_cancion1 = self.data_factory.name()
        self.coleccion.agregar_cancion(titulo_cancion1, minutos_cancion1, segundos_cancion1, compositor_cancion1, consulta1,
                                                       [{'nombre': nombre_interprete1,
                                                         'texto_curiosidades': texto_curiosidades1}])
        nombre_interprete2 = self.data_factory.name()
        texto_curiosidades2 = self.data_factory.text()
        self.coleccion.agregar_interprete(nombre_interprete2, texto_curiosidades2, -1)
        minutos_cancion2 = self.data_factory.pyint(0, 60)
        segundos_cancion2 = self.data_factory.pyint(0, 60)
        compositor_cancion2 = self.data_factory.name()
        cancion = self.coleccion.agregar_cancion(titulo_cancion1, minutos_cancion2, segundos_cancion2, compositor_cancion2, consulta1,
                                                       [{'nombre': nombre_interprete2,
                                                         'texto_curiosidades': texto_curiosidades2}])
        self.assertEqual(cancion, False)

    def test_editar_cancion(self):
        consulta1 = self.session.query(Cancion).filter(Cancion.id == 2).first().compositor
        consulta2 = self.session.query(Interprete).filter(Interprete.nombre == "Franco de Vita").first()
        texto_curiosidades = self.data_factory.text()
        minutos_cancion = self.data_factory.pyint(0, 60)
        segundos_cancion = self.data_factory.pyint(0, 60)
        if consulta2 is None:
            self.coleccion.agregar_interprete("Franco de Vita", texto_curiosidades, 1)
            self.coleccion.editar_cancion(2, "Bye mamá", minutos_cancion, segundos_cancion, "J.R.Florez y Difelisatti",
                                          [{'id': '2', 'nombre': 'Alejandra Guzman',
                                            'texto_curiosidades': 'Canción dedicada a su ...'},
                                           {'id': 'n', 'nombre': 'Franco de Vita',
                                            'texto_curiosidades': texto_curiosidades}])
        else:
            self.coleccion.editar_cancion(2, "Bye bye", minutos_cancion, segundos_cancion, "J.R.Florez y Difelisatti",
                                          [{'id': '2', 'nombre': 'Alejandra Guzman',
                                            'texto_curiosidades': 'Canción dedicada a su ...'},
                                           {'id': '9', 'nombre': 'Franco de Vita',
                                            'texto_curiosidades': texto_curiosidades}])
        consulta3 = self.session.query(Cancion).filter(Cancion.id == 2).first()
        self.assertEqual(consulta3.compositor, "J.R.Florez y Difelisatti")

    def test_eliminar_cancion(self):
        self.coleccion.eliminar_cancion(3)
        consulta = self.session.query(Cancion).filter(Cancion.id == 3).first()
        self.assertIsNone(consulta)

    def test_buscar_canciones_por_titulo(self):
        titulo_cancion = self.data_factory.name()
        anio_cancion = self.data_factory.year()
        descripcion_cancion = self.data_factory.sentence()
        self.coleccion.agregar_album(titulo_cancion, anio_cancion, descripcion_cancion, "CD")
        consulta1 = self.session.query(Album).filter(Album.titulo == titulo_cancion).first().id
        nombre_interprete = self.data_factory.name()
        texto_curiosidades = self.data_factory.text()
        self.coleccion.agregar_interprete(nombre_interprete, texto_curiosidades, -1)
        minutos_cancion = self.data_factory.pyint(0, 60)
        segundos_cancion = self.data_factory.pyint(0, 60)
        compositor_cancion = self.data_factory.name()
        self.coleccion.agregar_cancion("Baby blues", minutos_cancion, segundos_cancion, compositor_cancion, consulta1,
                                       [{'nombre': nombre_interprete,
                                         'texto_curiosidades': texto_curiosidades}])
        consulta = self.coleccion.buscar_canciones_por_titulo("Baby")
        self.assertGreater(len(consulta), 0)

    def test_dar_cancion_por_id(self):
        consulta = self.coleccion.dar_cancion_por_id(1)
        self.assertEqual(consulta["titulo"], "Baby blues")