---
# System prepended metadata

title: Acceptance Test To-Dos and Workflow

---

# Acceptance Test To-Dos and Workflow

Below I have two sections. One has the assignments for who will work on each
set of views as well as a place to keep track of which ones are done. Your
name is below the resources of which you are assigned the grouping of
acceptance tests. In general these tests were passing befre we did the
refactor so you should not have to change too much to get them to work.  
Below that I have written a short list of the main things that you will need to
do in order to rework an exisiting acceptance test, which you should use to make
sure that you don't accidentally forget a step.  
I am, of course, always available to answer questions.

## To-Dos

- [x] Courses  
  ==Chris==
  - [x] create
  - [x] delete
  - [x] edit
- [x] Sections  
  ==Chris==
  - [x] Creates
  - [x] ==new== edit
  - [x] ==new== delete
- [x] Labs  
  ==Isaiah==
  - [x] create
  - [x] delete
  - [x] edit
  - [x] directory
- [ ] Users  
  ==Isaiah==
  - [ ] create
  - [ ] delete
  - [ ] edit
- [ ] Login  
  ==Isaiah==
- [x] ==new== Logout  
  ==Jacob==

## Workflow

I can't give you every step that you will need in order to clean up / fix every
possible acceptance tests, but the general formula is as follows:

- Make sure that the error type you have imported is the correct one for the
  view you are working on  
  e.g. `LabError` -> `LabEditError, LabEditPlace`  
  e.g. for LabsEdit `TestCase` -> `TASAcceptanceBase[LabEditError]`
- Remove any one off helper functions that perform the same funcitonailty as
  those added by the base class
- Go through each test and replace the following constructs
  - Anywhere where an error is extracted from the context with  
    `error = self.assertContextError(resp)`
  - Anywhere where an error is checked should be replaced with  
    `self.assertEqual(LabEditPlace.<Expected>, error.place(), msg='...')`  
    `self.assertEqual('<Expected Message>', error.message(), msg='...')`
  - Anywhere where one of the aformentioned one off functions was used with
    their base-class counterparts
