m20Tests :: TestTree
m20Tests = decisionTestGroup "m20" "Delete enacted?"
  [ testCase "True + completed ==> n11" $
      let r = resource { deleteResource = return True }
      in after' m20 r req @?= Decision' "n11"
  , testCase "True + not completed ==> 202 Accepted" $
      let r = resource { deleteResource = return True, deleteCompleted = return False }
      in after' m20 r req @?= Done' accepted202
  , testCase "False ==> 500 Internal Server Error" $
      after' m20 resource req @?= error' internalServerError500
  ]
m20Tests :: TestTree
m20Tests = decisionTestGroup "m20" "Delete enacted?"
  [ testCase "True + completed ==> n11" $
      let r = resource { deleteResource = return True }
      in after' m20 r req @?= Decision' "n11"
  , testCase "True + not completed ==> 202 Accepted" $
      let r = resource { deleteResource = return True, deleteCompleted = return False }
      in after' m20 r req @?= Done' accepted202
  , testCase "False ==> 500 Internal Server Error" $
      after' m20 resource req @?= error' internalServerError500
  ]
m20Tests = decisionTestGroup "m20" "Delete enacted?"
  [ testCase "True + completed ==> n11" $
      let r = resource { deleteResource = return True }
      in after' m20 r req @?= Decision' "n11"
  , testCase "True + not completed ==> 202 Accepted" $
      let r = resource { deleteResource = return True, deleteCompleted = return False }
      in after' m20 r req @?= Done' accepted202
  , testCase "False ==> 500 Internal Server Error" $
      after' m20 resource req @?= error' internalServerError500
  ]