fix(test): resepect uniqueness for ldap, 2nd attempt
This commit is contained in:
parent
22426db241
commit
d06448a4a8
@ -1,4 +1,4 @@
|
||||
-- SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <vaupel.sarah@campus.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>
|
||||
-- SPDX-FileCopyrightText: 2022-23 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <vaupel.sarah@campus.lmu.de>,Steffen Jost <s.jost@fraport.de>
|
||||
--
|
||||
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
@ -48,10 +48,10 @@ makeUsers (fromIntegral -> n) = do
|
||||
users' <- liftIO . replicateM n $ generate arbitrary
|
||||
users <- forM users' $ \u -> do
|
||||
i <- atomically $ readTVar userNumber <* modifyTVar userNumber succ
|
||||
let baseid = CI.mk $ "user." <> tshow i
|
||||
u' = u { userIdent = baseid
|
||||
, userEmail = baseid <> "@example.com"
|
||||
, userLdapPrimaryKey = baseid <> ".ldap"
|
||||
let baseid = "user." <> tshow i
|
||||
u' = u { userIdent = CI.mk baseid
|
||||
, userEmail = CI.mk $ baseid <> "@example.com"
|
||||
, userLdapPrimaryKey = Just $ baseid <> ".ldap"
|
||||
}
|
||||
return u'
|
||||
uids <- insertMany users
|
||||
@ -102,18 +102,19 @@ distributionExample mkParameters setupHook cont = do
|
||||
|
||||
mapM_ (\(n, (subs, corrs)) -> setupHook n subs corrs) . zip [1..] $ map snd situations
|
||||
|
||||
situations' <- forM situations $ \(sid, (submissions, sheetCorrectors)) -> (sid, ) <$> do
|
||||
-- situations' <-
|
||||
forM situations $ \(sid, (submissions, sheetCorrectors)) -> (sid, ) <$> do
|
||||
submissions' <- mapM (fmap fromJust . getEntity . entityKey) submissions
|
||||
sheetCorrectors' <- mapM (fmap fromJust . getEntity . entityKey) sheetCorrectors
|
||||
return (submissions', sheetCorrectors')
|
||||
|
||||
return situations'
|
||||
-- return situations'
|
||||
|
||||
let
|
||||
subIds :: [SubmissionId]
|
||||
subIds = concatMap (\(_, (subs, _)) -> mapMaybe (\(Entity subId Submission{..}) -> guardOn (is _Nothing submissionRatingBy) subId) subs) situations
|
||||
|
||||
results <- runHandler . Yesod.runDB . mapM (\sid -> assignSubmissions sid Nothing) $ map fst situations
|
||||
results <- runHandler . Yesod.runDB $ mapM ((`assignSubmissions` Nothing) . fst) situations
|
||||
|
||||
submissions <- fmap concat . forM results $ \(assigned, unassigned) -> runDB $ selectList ([ SubmissionId <-. Set.toList assigned ] ||. [ SubmissionId <-. Set.toList unassigned ]) []
|
||||
|
||||
@ -122,7 +123,7 @@ distributionExample mkParameters setupHook cont = do
|
||||
Set.union assigned unassigned `shouldBe` Set.fromList subIds
|
||||
cont . Map.fromListWith mappend $ do
|
||||
Entity subId Submission{..} <- submissions
|
||||
let key = listToMaybe . filter (\(Entity _ (SheetCorrector uid _ _ _)) -> Just uid == submissionRatingBy) $ concatMap (\(_, (_, corrs)) -> corrs) situations
|
||||
let key = find (\ (Entity _ (SheetCorrector uid _ _ _)) -> Just uid == submissionRatingBy) $ concatMap (\(_, (_, corrs)) -> corrs) situations
|
||||
sheet = getFirst . foldMap (\(n, (sid, _)) -> First $ guardOn (sid == submissionSheet) n) $ zip [1..] situations
|
||||
return (entityVal <$> key, Set.singleton (subId, sheet))
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user