def test_no_es_mayor_de_edad_con_menos_de_18(self): """ Prueba que el estudiante no es mayor de edad cuando la edad es < 18. """ estudiante = Estudiante() estudiante.edad = 17 self.assertEqual(estudiante.es_mayor_de_edad(), False)
def test_es_mayor_de_edad_con_mas_de_18(self): """ Prueba que el estudiante es mayor de edad cuando la edad es > 18. """ estudiante = Estudiante() estudiante.edad = 19 self.assertEqual(estudiante.es_mayor_de_edad(), True)
def test_longitud_nombre_mayor_a_cero(self): """ Prueba que el nombre ingresado tenga una longitud mayor a cero. """ estudiante = Estudiante() estudiante.edad = 0 estudiante.nombre = "Julian" estudiante.save() e = Estudiante.objects.all()[0] self.assertEqual(e.nombre, "Julian")
def agregar_estudiante(): data=request.json estudiante_id=str(request.json["cedula"]) estudiante_doc=estudiantes_ref.document(estudiante_id) if(estudiante_doc.get().exists): error_message={"error":f"Ya existe un estudiante registrando con el ID {estudiante_id}"} return jsonify(error_message),400 try: nuevo_estudiante=Estudiante(data["cedula"], data["nombre"], data["apellido"],data["correo"], data["carrera"]).to_dict() estudiante_doc.set(nuevo_estudiante) return jsonify(nuevo_estudiante),201 except: error_message={"error":"Los datos del estudiante no están completos o son incorrectos"} return jsonify(error_message),400
def actualizar_estudiante(id): data=request.json estudiante_doc=estudiantes_ref.document(str(id)).get() if(estudiante_doc.exists): data_estudiante = Estudiante( data["cedula"], data["nombre"], data["apellido"], data["correo"], data["carrera"]).to_dict() estudiante_doc=estudiantes_ref.document(str(id)).set(data) return jsonify(data_estudiante), 200 else: error_message={"error":f"No existe un estudiante registrando con el ID {estudiante_doc}"} return jsonify(error_message),400
def actualizar_estudiante(id): data=request.json estudiante_id=str(id) estudiante_doc=estudiantes_ref.document(estudiante_id) if(estudiante_doc.get().exists): try: nuevo_estudiante=Estudiante(data["cedula"], data["nombre"], data["apellido"],data["correo"], data["carrera"]).to_dict() estudiantes_ref.document(estudiante_id).update(nuevo_estudiante) return jsonify(nuevo_estudiante),200 except: error_message={"error":"Los datos del estudiante no están completos o son incorrectos"} return jsonify(error_message),400 else: error_message={"error":f"No se encontró ningún estudiante con el ID {id}"} return jsonify(error_message),400
def create(): nombre_estudiante = request.json['nombre_estudiante'] direccion = request.json['direccion'] telefono = request.json['telefono'] identificacion = request.json['identificacion'] sede = request.json['sede'] estudiante = Estudiante() estudiante.nombre_estudiante = nombre_estudiante estudiante.direccion = direccion estudiante.telefono = telefono estudiante.identificacion = identificacion estudiante.sede = sede db.session.add(estudiante) db.session.commit() return jsonify({ 'msg': estudiante.to_json(), 'status': 'Estudiante creado correctamente' })
def actualizar_estudiante(id): """Actualiza un estudiante de la base de datos a partir del id Argumentos: id (int): Id con la cédula del estudiante Retorna: json: Objeto con la información del estudiante actualizada o error si falló el proceso """ data=request.json estudiante_id=str(id) estudiante_doc=estudiantes_ref.document(estudiante_id) if(estudiante_doc.get().exists): try: nuevo_estudiante=Estudiante(data["cedula"], data["nombre"], data["apellido"],data["correo"], data["carrera"]).to_dict() estudiantes_ref.document(estudiante_id).update(nuevo_estudiante) return jsonify(nuevo_estudiante),200 except: error_message={"error":"Los datos del estudiante no están completos o son incorrectos"} return jsonify(error_message),400 else: error_message={"error":f"No se encontró ningún estudiante con el ID {id}"} return jsonify(error_message),400
def migrar_estudiante(request): try: if request.method == 'POST': form = EstudianteForm(request.POST) if form.is_valid(): cedula = form['cedula'].value() carrera = Carrera.objects.get(codigo=form['carrera'].value()) periodo = Periodo.objects.get(estado=True) clienteCarrera = webservices.infoCarrera() #si el estudiante no está regstrado en la base de datos lo buscamos en el OASIS y lo almacenamos en la base de datos local if not (Estudiante.objects.filter(cedula=cedula).exists()): estudiante = Estudiante() estudiante.cedula = cedula resultEstudiante = clienteCarrera.service.GetDatosEstudianteMatriculado( estudiante.cedula) if resultEstudiante is not None: estudiante.cedula = resultEstudiante['Cedula'] estudiante.username = resultEstudiante['Cedula'] estudiante.first_name = metodos.remover_acentos( resultEstudiante['Nombres']) estudiante.last_name = metodos.remover_acentos( resultEstudiante['Apellidos']) if not resultEstudiante['Email'] is None: estudiante.email = resultEstudiante['Email'] estudiante.is_active = 1 estudiante.is_superuser = 0 estudiante.is_staff = 0 estudiante.password = make_password( resultEstudiante['Cedula'], salt=None, hasher='default') estudiante.save() usuario = User.objects.get(id=estudiante.id) if Group.objects.filter(name='Estudiantes').exists(): grupo = Group.objects.get(name='Estudiantes') else: grupo = Group.objects.create(name='Estudiantes') usuario.groups.add(grupo) usuario.save() #return JsonResponse(estudiante.first_name, safe=False) #si el estudiante existe en la base de datos lo recuperamos if (Estudiante.objects.filter(cedula=cedula)): estudiante = Estudiante.objects.get(cedula=cedula) #Obtenemos las asignaturas en las que el estudiante se encuentra matriculado desde la base de datos del sistema académico resultAsignaturas = clienteCarrera.service.GetMateriasEstudiante( carrera.codigo, estudiante.cedula, periodo.codigo) #return JsonResponse((resultAsignaturas != ""), safe=False) if (resultAsignaturas != ""): for a in resultAsignaturas[0]: tmp = metodos.recursive_asdict(a) if Asignatura.objects.filter( codigo=tmp['Codigo']).exists(): asignatura = Asignatura.objects.get( codigo=tmp['Codigo']) if DocenteAsignaturaPeriodo.objects.filter( asignatura=asignatura, periodo=periodo).exists(): docenteAsignatura = DocenteAsignaturaPeriodo.objects.get( asignatura=asignatura, periodo=periodo) if not (DocenteAsignaturaPeriodoEstudiante. objects.filter( docenteasignatura= docenteAsignatura, estudiante=estudiante).exists( )): docenteAsignaturaEstudiante = DocenteAsignaturaPeriodoEstudiante( ) docenteAsignaturaEstudiante.docenteasignatura = docenteAsignatura docenteAsignaturaEstudiante.estudiante = estudiante docenteAsignaturaEstudiante.save() return HttpResponseRedirect( reverse('home') + "?migrar=correcto") else: form = EstudianteForm() return render(request, 'estudiante/nuevo.html', {'form': form}, context_instance=RequestContext(request)) except: return HttpResponseRedirect(reverse('home') + "?migrar=error")
print(item,item.id) item_dict=item.to_dict() item_dict["id"]=item.id return item_dict app = Flask(__name__) # Inicializar Firestore DB cred = credentials.Certificate('key/key.json') default_app = initialize_app(cred) db = firestore.client() estudiantes_ref = db.collection('Estudiantes') peticiones_ref = db.collection('Peticiones') nuevo_estudiante=Estudiante(122345, "Jaime", "Garcia", "jaime.garcia", "Electronica") print(nuevo_estudiante.to_dict()) nueva_peticion=Peticion(122345, "Asesoria",'25/09/20 7:00:00') print(nueva_peticion.to_dict(),nueva_peticion.fecha_creacion,nueva_peticion.fecha_atencion) @app.route("/api/v1/estudiantes",methods=['POST']) def agregar_estudiante(): """Agrega un estudiante a la base de datos Retorna:
def index(raton): Estudiante.objects.crear_estudiante(Estudiante()) return HttpResponse('<html><body><b>hola mundo</b></body></html>')
def testCrearEstudiante(self): usuario = Estudiante(nombre='nuevoE', dni='12345678A') assert_equal(usuario.nombre, 'nuevoE') assert_equal(usuario.dni, '12345678A')