def create_nr(nr_num: str, request_state: str, names: list, names_state: list): now = datetime.utcnow() with freeze_time(now): name_request = Request() name_request.nrNum = nr_num name_request.stateCd = request_state name_request._source = 'NRO' name_request.expirationDate = add_years(now, 1) name_request.entity_type_cd = 'CR' # name_request.priorityCd = start_priority name_request.save_to_db() for index, name in enumerate(names): name_state = names_state[index] choice = index + 1 name_obj = Name() name_obj.nrId = name_request.id name_obj.name = name name_obj.state = name_state name_obj.choice = choice name_obj.name_type_cd = 'CO' name_obj.save_to_db() return name_request
def test_name_search_populated_by_name(): """Tests changing a name updates the nameSearch column.""" from namex.models import Name, Request as RequestDAO, State name = Name() name.choice = 1 name.name = 'TEST' name.state = 'NE' nr = RequestDAO() nr.nrNum = 'NR 0000001' nr.stateCd = State.DRAFT nr.names.append(name) nr.save_to_db() test = RequestDAO.find_by_id(nr.id) # sanity check names = test.names.all() assert len(names) == 1 assert names[0].name == 'TEST' # check nameSearch assert nr.nameSearch == '|1TEST1|' # alter name name.name = 'CHANGED' name.save_to_db() # check nameSearch assert nr.nameSearch == '|1CHANGED1|'
def test_name_update_via_save_to_db_method(session): """Test save via save_to_db() method, which does data transformations.""" # setup test_name = "my good company" name_json = {"name": test_name, "state": "NE", "conflict1": "conflict1", "conflict2": "conflict2", "conflict3": "", "consumptionDate": None, "designation": "LLC", "conflict1_num": "NR 0000001", "decision_text": "my descision", "conflict3_num": "", "conflict2_num": "A123456", "choice": 1} name_schema = NameSchema() # create a name name = Name(name="temp") session.add(name) session.commit() name_id = name.id # update it from the json data vi the schema loader name_schema.load(name_json, instance=name, partial=False) name.save_to_db() # get the name from the data base & assert it was updated with data changes name = None name = Name.query.filter_by(id=name_id).one_or_none() assert name.id is not None assert name.id == name_id assert name.name == test_name.upper() # name should be uppercase assert name.conflict1_num == "NR 0000001" # NR number conflicts should be unchanged assert name.conflict2_num == "A123456" # corp number conflicts should be unchanged assert name.conflict3_num in ("", None)