Beispiel #1
0
def prep(db_conn):
  raw_insert_subjects(db_conn, [{
    'entity_id': subject_a_uuid,
    'name': 'A',
    'body': 'Apple',
    'status': 'accepted',
  }, {
    'entity_id': subject_b_uuid,
    'name': 'B',
    'body': 'Banana',
    'status': 'accepted',
  }, {
    'entity_id': subject_c_uuid,
    'name': 'C',
    'body': 'Coconut',
    'status': 'accepted',
  }, {
    'entity_id': subject_d_uuid,
    'name': 'D',
    'body': 'Date',
    'status': 'accepted',
  }])
  raw_insert_user_subjects(db_conn, [{
    'user_id': user_id,
    'subject_id': subject_a_uuid,
  }, {
    'user_id': user_id,
    'subject_id': subject_c_uuid,
  }])
Beispiel #2
0
def create_user_subjects_test_data(db_conn):
    users = [{
        'id': user_a_uuid,
        'name': 'test',
        'email': '*****@*****.**',
        'password': '******',
    }, {
        'id': user_b_uuid,
        'name': 'other',
        'email': '*****@*****.**',
        'password': '******',
    }]
    raw_insert_users(db_conn, users)
    subjects = [{
        'entity_id': test_subject_uuid,
        'name': 'Calculus',
        'user_id': user_b_uuid,
        'body': 'Calculus is fun sometimes.',
        'members': [],
    }]
    raw_insert_subjects(db_conn, subjects)
    user_subjects = [{
        'user_id': user_a_uuid,
        'subject_id': test_subject_uuid,
    }]
    raw_insert_user_subjects(db_conn, user_subjects)
def test_update_entity_status_by_kind(db_conn):
    create_test_user(db_conn)
    unit_version_a_uuid = uuid.uuid4()
    card_version_a_uuid = uuid.uuid4()
    subject_version_a_uuid = uuid.uuid4()
    units = [{
        'version_id': unit_version_a_uuid,
        'user_id': user_a_uuid,
        'entity_id': unit_a_uuid,
        'name': 'test unit add',
        'body': 'adding numbers is fun',
        'status': 'pending',
    }]
    raw_insert_units(db_conn, units)
    cards = [{
        'version_id': card_version_a_uuid,
        'status': 'pending',
        'entity_id': uuid.uuid4(),
        'unit_id': unit_a_uuid,
        'user_id': user_a_uuid,
        'kind': 'video',
        'name': 'Meaning of Life Video',
        'data': {
            'site': 'youtube',
            'video_id': convert_uuid_to_slug(uuid.uuid4()),
        },
    }]
    raw_insert_cards(db_conn, cards)
    subjects = [{
        'version_id': subject_version_a_uuid,
        'status': 'pending',
        'entity_id': subject_a_uuid,
        'name': 'Math',
        'user_id': user_a_uuid,
        'body': 'Math is fun.',
        'members': [],
    }]
    raw_insert_subjects(db_conn, subjects)
    unit, errors = update_entity_status_by_kind(db_conn,
                                                kind='unit',
                                                version_id=unit_version_a_uuid,
                                                status='accepted')
    assert not errors
    assert unit['status'] == 'accepted'
    card, errors = update_entity_status_by_kind(db_conn,
                                                kind='card',
                                                version_id=card_version_a_uuid,
                                                status='accepted')
    assert not errors
    assert card['status'] == 'accepted'
    subject, errors = update_entity_status_by_kind(
        db_conn,
        kind='subject',
        version_id=subject_version_a_uuid,
        status='accepted')
    assert not errors
    assert subject['status'] == 'accepted'
def create_route_subject_test_data(db_conn):
    units = [{
        'version_id': unit_version_a_uuid,
        'user_id': user_id,
        'entity_id': unit_a_uuid,
        'name': 'test unit add',
        'body': 'adding numbers is fun'
    }, {
        'user_id': user_id,
        'entity_id': unit_b_uuid,
        'name': 'test unit subtract',
        'body': 'subtracting numbers is fun',
        'require_ids': [unit_a_uuid],
    }]
    raw_insert_units(db_conn, units)
    cards = [{
        'entity_id': card_a_uuid,
        'unit_id': unit_a_uuid,
        'kind': 'video',
        'name': 'Video Z',
    }]
    raw_insert_cards(db_conn, cards)
    subjects = [{
        'version_id':
        subject_version_a_uuid,
        'entity_id':
        subject_a_uuid,
        'name':
        'Math',
        'user_id':
        user_id,
        'body':
        'Math is fun.',
        'members': [{
            'kind': 'unit',
            'id': convert_uuid_to_slug(unit_a_uuid),
        }, {
            'kind': 'unit',
            'id': convert_uuid_to_slug(unit_b_uuid),
        }],
    }, {
        'entity_id':
        subject_b_uuid,
        'name':
        'An Introduction to Electronic Music',
        'user_id':
        user_id,
        'body':
        'Art is fun.',
        'members': [{
            'kind': 'subject',
            'id': convert_uuid_to_slug(subject_a_uuid),
        }],
    }]
    raw_insert_subjects(db_conn, subjects)
Beispiel #5
0
def create_subject_test_data(db_conn):
  users = [{
    'id': user_a_uuid,
    'name': 'test',
    'email': '*****@*****.**',
    'password': '******',
  }, {
    'id': user_b_uuid,
    'name': 'other',
    'email': '*****@*****.**',
    'password': '******',
  }]
  raw_insert_users(db_conn, users)
  units = [{
    'user_id': user_a_uuid,
    'entity_id': unit_a_uuid,
    'name': 'test unit add',
    'body': 'adding numbers is fun'
  }, {
    'user_id': user_a_uuid,
    'entity_id': unit_b_uuid,
    'name': 'test unit subtract',
    'body': 'subtracting numbers is fun',
    'require_ids': [unit_a_uuid],
  }]
  raw_insert_units(db_conn, units)
  subjects = [{
    'version_id': subject_version_a_uuid,
    'entity_id': test_subject_a_uuid,
    'name': 'Math',
    'user_id': user_b_uuid,
    'body': 'Math is fun.',
    'members': [{
      'kind': 'unit',
      'id': convert_uuid_to_slug(unit_a_uuid),
    }, {
      'kind': 'unit',
      'id': convert_uuid_to_slug(unit_b_uuid),
    }],
  }, {
    'entity_id': test_subject_b_uuid,
    'name': 'Art',
    'user_id': user_b_uuid,
    'body': 'Art is fun.',
    'members': [{
      'kind': 'subject',
      'id': convert_uuid_to_slug(test_subject_a_uuid),
    }],
  }]
  raw_insert_subjects(db_conn, subjects)
Beispiel #6
0
def create_one_subject(db_conn):
  raw_insert_units(db_conn, [{
    'entity_id': unit_a_uuid,
    'name': 'Unit',
    'body': 'doesnt matter',
  }])
  raw_insert_subjects(db_conn, [{
    'entity_id': subject_a_uuid,
    'name': 'A',
    'body': 'Apple',
    'members': [{
      'kind': 'unit',
      'id': convert_uuid_to_slug(unit_a_uuid),
    }]
  }])
def create_recurse_test_data(db_conn):
    create_test_user(db_conn)
    units = [{
        'user_id': user_a_uuid,
        'entity_id': unit_a_uuid,
        'name': 'test unit add',
        'body': 'adding numbers is fun'
    }, {
        'user_id': user_a_uuid,
        'entity_id': unit_b_uuid,
        'name': 'test unit subtract',
        'body': 'subtracting numbers is fun',
    }]
    raw_insert_units(db_conn, units)
    subjects = [{
        'entity_id':
        subject_a_uuid,
        'name':
        'Math',
        'user_id':
        user_a_uuid,
        'body':
        'Math is fun.',
        'members': [{
            'kind': 'unit',
            'id': convert_uuid_to_slug(unit_a_uuid),
        }, {
            'kind': 'unit',
            'id': convert_uuid_to_slug(unit_b_uuid),
        }],
    }, {
        'entity_id':
        subject_b_uuid,
        'name':
        'Art',
        'user_id':
        user_a_uuid,
        'body':
        'Art is fun.',
        'members': [{
            'kind': 'subject',
            'id': convert_uuid_to_slug(subject_a_uuid),
        }],
    }]
    raw_insert_subjects(db_conn, subjects)
def add_test_subject(db_conn):
    """
  Add doesn't require anything.
  Multiply requires add.
  Subtract requires add.
  Divide requires multiply.

  Add is done,
  Subtract needs review,
  Multiply needs to be learned,
  Divide needs to be diagnosed.
  """

    raw_insert_units(
        db_conn, [{
            'entity_id': unit_add_uuid,
            'user_id': user_id,
            'name': 'Add',
            'body': 'Add',
        }, {
            'entity_id': unit_subtract_uuid,
            'require_ids': [unit_add_uuid],
            'user_id': user_id,
            'name': 'Subtract',
            'body': 'Subtract',
        }, {
            'entity_id': unit_multiply_uuid,
            'require_ids': [unit_add_uuid],
            'user_id': user_id,
            'name': 'Multiply',
            'body': 'Multiply',
        }, {
            'entity_id': unit_divide_uuid,
            'require_ids': [unit_multiply_uuid, unit_subtract_uuid],
            'user_id': user_id,
            'name': 'Divide',
            'body': 'Divide',
        }])

    raw_insert_cards(db_conn, [{
        'entity_id': card_a_uuid,
        'unit_id': unit_add_uuid,
        'user_id': user_id,
        'status': 'accepted',
        'kind': 'video',
        'name': 'Meaning of Life Video',
        'data': {
            'site': 'youtube',
            'video_id': convert_uuid_to_slug(uuid.uuid4()),
        },
    }])

    raw_insert_responses(
        db_conn, [{
            'user_id': user_id,
            'unit_id': unit_add_uuid,
            'learned': 0.99,
            'card_id': card_a_uuid,
            'response': convert_uuid_to_slug(uuid.uuid4()),
            'score': 1,
        }, {
            'user_id': user_id,
            'unit_id': unit_multiply_uuid,
            'learned': 0.0,
            'card_id': card_a_uuid,
            'response': convert_uuid_to_slug(uuid.uuid4()),
            'score': 1,
        }, {
            'user_id': user_id,
            'unit_id': unit_subtract_uuid,
            'learned': 0.99,
            'card_id': card_a_uuid,
            'response': convert_uuid_to_slug(uuid.uuid4()),
            'score': 1,
            'created': datetime(2004, 11, 3, tzinfo=timezone.utc)
        }])

    raw_insert_subjects(db_conn, [{
        'user_id':
        user_id,
        'entity_id':
        subject_uuid,
        'created':
        datetime(2004, 11, 1, tzinfo=timezone.utc),
        'name':
        'Math',
        'body':
        'Math',
        'members': [
            {
                'id': convert_uuid_to_slug(unit_add_uuid),
                'kind': 'unit'
            },
            {
                'id': convert_uuid_to_slug(unit_subtract_uuid),
                'kind': 'unit'
            },
            {
                'id': convert_uuid_to_slug(unit_multiply_uuid),
                'kind': 'unit'
            },
            {
                'id': convert_uuid_to_slug(unit_divide_uuid),
                'kind': 'unit'
            },
        ],
    }])