Ich habe reagieren app wurde von create-react-app mit jest und enzym zum testen gemachtWie kann ich window.location.Patchname auf meine Testdatei mit Jest bekommen?
Also wie kann ich den Wert von window.location.pathname
in meine Testdatei bekommen?
Das ist mein spec
import React from 'react';
import MovieDetailsBox from '../../src/components/movie_single/MovieDetailsBox';
import { expect } from 'chai';
import { shallow } from 'enzyme';
import { movie_details } from '../../src/data/movies_details'
import { empty_user } from '../../src/helper/sessionHelper';
jest.mock('react-router');
describe('Test <MovieDetailsBox /> Component',() => {
let movie_details_props = {
movie: {...movie_details}
}
let user_props = {
}
const context = { router: { isActive: (a, b) => true } }
const wrapper = shallow(
<MovieDetailsBox movie={movie_details_props}
user={user_props}
currentPath={'/movie/68'}/>, { context }
)
const movie_data_check = movie_details_props.movie;
it('MovieDetailsBox call correct function on rating box',() => {
wrapper.find('.hidden-xs .rate-movie-action-box button').simulate('click')
if(!empty_user(user_props)){
expect(window.location.pathname).to.equal('/login')
} else {
console.log('have user wow')
}
})
})
Aber ich habe dies als Fehler auf meiner Konsole
AssertionError: expected 'blank' to equal '/login'
Es scheint wie window.location.pathname
Rückkehr leer statt aktuellen URL-Pfadnamen.
Also, wie kann ich das beheben oder muss ich etwas anderes SetupTests.js Datei einrichten?
Danke!
Sie Code für MovieDetailsBox teilen können? –
Es ist nur eine normale Reaktionskomponente von 'Klasse MovieDetailsBox erweitert Component' –