           expected {:user {:username "user"}}]
       (is (= expected
              (process-message msg app)))))
+
   (testing "change password updates state with new password"
     (let [msg (m/->ChangePassword "pwd")
           app {:user {:password "not-a-password"}}
           expected {:user {:password "pwd"}}]
       (is (= expected
              (process-message msg app)))))
+
   (testing "submitting login updates fieldworker-id, page, and mode"
     (let [response {:status 200
                        :body "some-uuid"}

                                                                  :password "pwd"}})
            expected #{(m/map->LoginResults {:body "some-uuid-response" :status 200})}]
        
        (is (= actual expected))))))

                    :errors ""}]
      (is (= expected
             (process-message msg app)))))
  
  (testing "unsuccessful login "
    (let [msg (m/map->LoginResults {:status 400})
          app {:errors ""}
          expected {:errors "Bad username or password"}
          actual (process-message msg app)]
      (is (= expected actual))))

  (testing "fieldworker login calls backend correctly"
    (with-redefs [http/post (fn [url parmas] {:status 200 :body "some-uuid-response"})
                  wrap (fn [msg ch] (msg ch))]
