@@ -14,6 +14,7 @@ const HttpMocks = require('node-mocks-http')
1414const PasswordResetEmailRequest = require ( '../../lib/requests/password-reset-email-request' )
1515const AccountManager = require ( '../../lib/models/account-manager' )
1616const SolidHost = require ( '../../lib/models/solid-host' )
17+ const EmailService = require ( '../../lib/services/email-service' )
1718
1819describe ( 'PasswordResetEmailRequest' , ( ) => {
1920 describe ( 'constructor()' , ( ) => {
@@ -175,16 +176,26 @@ describe('PasswordResetEmailRequest', () => {
175176 it ( 'should throw an error if the user does not exist' , done => {
176177 const host = SolidHost . from ( { serverUri : 'https://example.com' } )
177178 const store = { suffixAcl : '.acl' }
178- const accountManager = AccountManager . from ( { host, multiuser : true , store } )
179+ const emailService = sinon . stub ( ) . returns ( EmailService )
180+ const accountManager = AccountManager . from ( { host, multiuser : true , store, emailService } )
179181 accountManager . accountExists = sinon . stub ( ) . resolves ( false )
180182 const username = 'alice'
181-
182183 const options = { accountManager, username }
183184 const request = new PasswordResetEmailRequest ( options )
184185
186+ sinon . spy ( request , 'renderSuccess' )
187+ sinon . spy ( accountManager , 'userAccountFrom' )
188+ sinon . spy ( accountManager , 'verifyEmailDependencies' )
189+
185190 request . loadUser ( )
186- . catch ( error => {
187- expect ( error . message ) . to . equal ( 'Account not found for that username' )
191+ . then ( ( ) => {
192+ expect ( accountManager . userAccountFrom ) . to . have . been . called ( )
193+ expect ( accountManager . verifyEmailDependencies ) . to . have . been . called ( )
194+ expect ( accountManager . verifyEmailDependencies ) . to . throw ( )
195+ done ( )
196+ } )
197+ . catch ( ( ) => {
198+ expect ( request . renderSuccess ) . to . have . been . called ( )
188199 done ( )
189200 } )
190201 } )
0 commit comments