Exemplo n.º 1
0
    def startFillout():
        aId = recordId[ASSESS]
        assessInfo = getItem(clientOwner, ASSESS, aId)
        criteriaEntries = findDetails(assessInfo["text"], CRITERIA_ENTRY)
        nCId = len(criteriaEntries)
        assert nCId == CRITERIA_ENTRIES_N[TYPE1]
        cIds = []

        for (i, (cId, material)) in enumerate(criteriaEntries):
            cIds.append(cId)
            assert ELLIPS_DIV in material
            scores = getScores(cId)
            (scoreValue, scoreId) = sorted(scores.items())[1]
            assertModifyField(
                clientOwner, CRITERIA_ENTRY, cId, SCORE, (scoreId, scoreValue), True,
            )
            theEvidence = [f"evidence for {i + 1}", "see the internet"]
            theEvidenceRep = ",".join(theEvidence)
            assertModifyField(
                clientOwner,
                CRITERIA_ENTRY,
                cId,
                EVIDENCE,
                (theEvidence, theEvidenceRep),
                True,
            )
        recordId[CRITERIA_ENTRY] = cIds

        assertStage(clientOwner, ASSESS, aId, COMPLETE)

        if submit:
            startSubmit()
Exemplo n.º 2
0
def test_addAssessment2(clientOwner):
    recordId = startInfo["recordId"]
    recordInfo = startInfo["recordInfo"]
    ids = startInfo["ids"]

    eid = G(recordId, CONTRIB)
    aId = G(recordId, ASSESS)

    assessInfo = getItem(clientOwner, ASSESS, aId)
    recordInfo[ASSESS] = assessInfo
    fields = assessInfo["fields"]

    aTitle = G(fields, TITLE)
    assertModifyField(clientOwner, CONTRIB, eid, TYPE, (ids["TYPE2"], TYPE2),
                      True)
    assessInfo = getItem(clientOwner, ASSESS, aId)
    text = assessInfo["text"]
    assert checkWarning(text, aTitle)

    assertStartTask(clientOwner, START_ASSESSMENT, eid, True)
    aIds = getEid(clientOwner, ASSESS, multiple=True)
    assert len(aIds) == 2

    newAId = [i for i in aIds if i != aId][0]
    assertDelItem(clientOwner, ASSESS, newAId, True)

    assertModifyField(clientOwner, CONTRIB, eid, TYPE, (ids["TYPE1"], TYPE1),
                      True)
    assessInfo = getItem(clientOwner, ASSESS, aId)
    text = assessInfo["text"]
    assert not checkWarning(text, aTitle)
Exemplo n.º 3
0
def test_Revise(clientOwner):
    recordId = startInfo["recordId"]
    aId = G(recordId, ASSESS)
    cIds = recordId[CRITERIA_ENTRY]
    cIdFirst = cIds[0]

    assertStage(clientOwner, ASSESS, aId, COMPLETE_REVISED)
    assertModifyField(
        clientOwner,
        CRITERIA_ENTRY,
        cIdFirst,
        EVIDENCE,
        ([], E),
        True,
    )
    assertStage(clientOwner, ASSESS, aId, INCOMPLETE_REVISED)
    theEvidence = [f"revised evidence for 1", "see the internet"]
    theEvidenceRep = ",".join(theEvidence)
    assertModifyField(
        clientOwner,
        CRITERIA_ENTRY,
        cIdFirst,
        EVIDENCE,
        (theEvidence, theEvidenceRep),
        True,
    )
    assertStage(clientOwner, ASSESS, aId, COMPLETE_REVISED)
    assertStatus(clientOwner, f"/api/task/{SUBMIT_ASSESSMENT}/{aId}", False)
    assertStatus(clientOwner, f"/api/task/{RESUBMIT_ASSESSMENT}/{aId}", False)
    assertStatus(clientOwner, f"/api/task/{SUBMIT_REVISED}/{aId}", True)
Exemplo n.º 4
0
def test_modifyTypeWrong(clientOwner):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    wrongValue = list(valueTables[TADIRAH_OBJECT].values())[0]
    assertModifyField(clientOwner, CONTRIB, eid, TYPE, wrongValue, False)
Exemplo n.º 5
0
def test_addMetaWrong(clientOwner, field):
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    updateValues = [["xxx"]]

    assertModifyField(clientOwner, CONTRIB, eid, field, updateValues, False)
Exemplo n.º 6
0
def test_modifyTypeEx2(clientOwner):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    assertModifyField(
        clientOwner, CONTRIB, eid, TYPE, (valueTables[TYPE][TYPE2], TYPE2), True
    )
Exemplo n.º 7
0
def test_modifyTypeMult(clientOwner):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    types = valueTables[TYPE]
    newValue = (types[TYPE2], types[TYPE1])
    assertModifyField(clientOwner, CONTRIB, eid, TYPE, (newValue, None), False)
Exemplo n.º 8
0
def test_modifyVccError(clientOwner):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    vccs = valueTables[VCC]
    vccVal = ["monkey", vccs[VCC2]]
    assertModifyField(clientOwner, CONTRIB, eid, VCC, (vccVal, None), False)
Exemplo n.º 9
0
def test_modifyVcc(clientOwner):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    vccs = valueTables[VCC]
    vcc12 = [vccs[VCC1], vccs[VCC2]]
    assertModifyField(clientOwner, CONTRIB, eid, VCC, (vcc12, VCC12), True)
Exemplo n.º 10
0
def test_modifyVccWrong(clientOwner):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    vccs = valueTables[VCC]
    wrongValue = list(valueTables[TADIRAH_OBJECT].values())[0]
    vccVal = [wrongValue, vccs["vcc2"]]
    assertModifyField(clientOwner, CONTRIB, eid, VCC, (vccVal, None), False)
Exemplo n.º 11
0
    def startAssign():
        aId = recordId[ASSESS]
        users = G(valueTables, USER)
        for (field, user) in ((REVIEWER_E, EXPERT), (REVIEWER_F, FINAL)):
            value = G(users, user)
            assertModifyField(clientOffice, ASSESS, aId, field, (value, user), True)

        if review:
            startReviews()
Exemplo n.º 12
0
    def startAssessment():
        eid = recordId[CONTRIB]
        assertModifyField(
            clientOwner, CONTRIB, eid, TYPE, (ids["TYPE1"], TYPE1), True,
        )
        aId = makeItem(clientOwner, ASSESS, cId=eid)
        recordId[ASSESS] = aId
        assertEditor(clientOwner, ASSESS, aId, valueTables, True)

        if fillout:
            startFillout()
Exemplo n.º 13
0
def test_tryStartAgainAll(clients):
    recordId = startInfo["recordId"]
    ids = startInfo["ids"]

    eid = G(recordId, CONTRIB)
    assertModifyField(clients[OWNER], CONTRIB, eid, TYPE,
                      (ids["TYPE1"], TYPE1), True)

    expect = {user: False for user in USERS}
    expect.update({user: True for user in {OWNER, EDITOR}})
    startAssessment(clients, eid, expect)
Exemplo n.º 14
0
 def assertIt(cl, exp):
     user = cl.user
     for (kind, renId) in reviewEntryId.items():
         thisExp = exp and (kind == user or user in POWER_USERS)
         newValue = [f"{user}'s comment"]
         newValueRep = ",".join(newValue)
         assertModifyField(cl, REVIEW_ENTRY, renId, COMMENTS,
                           (newValue, newValueRep), thisExp)
         if thisExp:
             assertModifyField(cl, REVIEW_ENTRY, renId, COMMENTS, ([], E),
                               True)
Exemplo n.º 15
0
 def assertIt(cl, exp):
     user = cl.user
     for (i, crId) in enumerate(cIds):
         criteriaEntryInfo = getItem(cl, CRITERIA_ENTRY, crId)
         text = criteriaEntryInfo["text"]
         reviewEntries = findReviewEntries(text)
         rId = reviewEntries[user][0]
         newValue = [f"{user}'s comment on criteria {i + 1}"]
         newValueRep = ",".join(newValue)
         assertModifyField(cl, REVIEW_ENTRY, rId, COMMENTS,
                           (newValue, newValueRep), exp)
Exemplo n.º 16
0
def test_addMetaRight(clientOwner, clientOffice, field, value):
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    updateValues = ((value,),)
    assertModifyField(clientOwner, CONTRIB, eid, field, (updateValues, value), True)
    assertModifyField(clientOwner, CONTRIB, eid, field, (None, ""), True)

    client = MongoClient()
    db = client[DB]
    mid = list(db[field].find({REP: value}))[0][_ID]
    assertDelItem(clientOffice, field, mid, True)
Exemplo n.º 17
0
def test_modifyMeta(clientOwner, field):
    valueTables = startInfo["valueTables"]
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    meta = valueTables[field]
    checkValues = EXAMPLE[field][0:3]
    updateValues = tuple(meta[ex] for ex in checkValues)

    assertModifyField(
        clientOwner, CONTRIB, eid, field, (updateValues, ",".join(checkValues)), True
    )
Exemplo n.º 18
0
def test_modifyCost(clientOwner, clientOffice):
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    value = EXAMPLE[COST_BARE]
    expect = EXAMPLE[COST_TOTAL]
    assertModifyField(clientOwner, CONTRIB, eid, COST_TOTAL, (value, expect),
                      True)

    value = EXAMPLE[COST_DESCRIPTION][0]
    expect = value.strip()
    assertModifyField(clientOwner, CONTRIB, eid, COST_DESCRIPTION,
                      (value, expect), True)
Exemplo n.º 19
0
    def startReviews():
        aId = recordId[ASSESS]
        cIds = recordId[CRITERIA_ENTRY]

        recordId.setdefault(REVIEW, {})
        clr = {EXPERT: clientExpert, FINAL: clientFinal}

        for (user, cl) in clr.items():
            rId = makeItem(cl, REVIEW, aId=aId)
            recordId[REVIEW][user] = rId

        for (user, cl) in clr.items():
            rId = recordId[REVIEW][user]
            for (i, cId) in enumerate(cIds):
                rEId = recordId[REVIEW][EXPERT]
                rFId = recordId[REVIEW][FINAL]
                reId = getReviewEntryId(clr, cId, rEId, rFId)
                reId = reId[user]
                newValue = [f"{user}'s comment on criteria {i + 1}"]
                newValueRep = ",".join(newValue)
                assertModifyField(
                    cl, REVIEW_ENTRY, reId, COMMENTS, (newValue, newValueRep), True
                )
Exemplo n.º 20
0
def test_resetType(clientOwner, clientOffice):
    recordId = startInfo["recordId"]

    eid = G(recordId, CONTRIB)
    assertModifyField(clientOwner, CONTRIB, eid, TYPE, (None, UNDEF_VALUE),
                      True)
Exemplo n.º 21
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, field, (value, expectVal), exp)
Exemplo n.º 22
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, CONTACT_PERSON_EMAIL,
                       (value, expectVal), exp)
Exemplo n.º 23
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, COST_TOTAL, (value, expectVal),
                       exp)
Exemplo n.º 24
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, field, (value, value.strip()), exp)
Exemplo n.º 25
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, TITLE, TITLE2, exp)
     if exp:
         assertModifyField(cl, CONTRIB, eid, TITLE, TITLE1, exp)
Exemplo n.º 26
0
    def assertIt(cl, exp):
        assertFieldValue((cl, USER, mycoord), COUNTRY, BELGIUM)

        assertModifyField(cl, USER, mycoord, COUNTRY, (luxemburg, LUXEMBURG),
                          exp)
        assertModifyField(cl, USER, mycoord, COUNTRY, (belgium, BELGIUM), exp)
Exemplo n.º 27
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, TITLE, TITLE2, exp[CONTRIB])
     assertModifyField(cl, ASSESS, aId, TITLE, TITLE_A2, exp[ASSESS])
     reviewerFId = G(users, FINAL)
     reviewerEId = G(users, EXPERT)
     assertModifyField(cl, ASSESS, aId, REVIEWER_E, (reviewerFId, FINAL),
                       exp["assign"])
     assertModifyField(cl, ASSESS, aId, REVIEWER_E, (reviewerEId, EXPERT),
                       exp["assign"])
     assertModifyField(
         cl,
         CRITERIA_ENTRY,
         cIdFirst,
         EVIDENCE,
         ([EVIDENCE1], EVIDENCE1),
         exp[CRITERIA_ENTRY],
     )
     for (rId, remarks, kind) in (
         (rExpertId, REMARKS_E, EXPERT),
         (rFinalId, REMARKS_F, FINAL),
     ):
         assertModifyField(cl, REVIEW, rId, REMARKS, ([remarks], remarks),
                           exp[f"{REVIEW}_{kind}"])
     for (kind, reid) in renId.items():
         comments = COMMENTS_E if kind == EXPERT else COMMENTS_F
         assertModifyField(
             cl,
             REVIEW_ENTRY,
             reid,
             COMMENTS,
             ([comments], comments),
             exp[f"{REVIEW_ENTRY}_{kind}"],
         )
Exemplo n.º 28
0
 def assertIt(cl, exp):
     assertModifyField(cl, ASSESS, aId, TYPEA, (ids["TYPE2"], None), exp)
Exemplo n.º 29
0
 def assertIt(cl, exp):
     assertModifyField(cl, ASSESS, aId, TITLE, TITLE_A2, exp)
     if exp:
         assertModifyField(cl, ASSESS, aId, TITLE, aTitle, exp)
Exemplo n.º 30
0
 def assertIt(cl, exp):
     assertModifyField(cl, CONTRIB, eid, TITLE, TITLE2, exp)
     assertModifyField(cl, ASSESS, aId, TITLE, TITLE_A2, exp)
     reviewerFId = G(users, FINAL)
     assertModifyField(cl, ASSESS, aId, REVIEWER_E, (reviewerFId, FINAL),
                       exp)
     assertModifyField(cl, CRITERIA_ENTRY, cIdFirst, EVIDENCE,
                       ([EVIDENCE1], EVIDENCE1), exp)
     for (rId, remarks) in ((rExpertId, REMARKS_E), (rFinalId, REMARKS_F)):
         assertModifyField(cl, REVIEW, rId, REMARKS, ([remarks], remarks),
                           exp)
     for (u, reid) in renId.items():
         comments = COMMENTS_E if u == EXPERT else COMMENTS_F
         assertModifyField(cl, REVIEW_ENTRY, reid, COMMENTS,
                           ([comments], comments), exp)