Skapa test i jasmine för javaScript... Hilfe!

Permalänk
Entusiast

Skapa test i jasmine för javaScript... Hilfe!

Sitter med en uppgift att skapa ett test i Jasmine, men vi har inte sneglat alltför mycket på exakt hur det funkar och jag får verkligen ett frispel. Har skapat en funktion som via klick på en flagga översätter sidan till engelska genom att lägga till #eng i url och jag skulle vilja köra så att jasmine testar om det funkar (vilket jag dock vet att det gör)...

Min simpla funktion:

function changeLanguage(lang) {
location.hash = lang;
location.reload();
}

HTML där den anropas via klick

<img id="flags" class="flags" src="assets/UK.png" alt="british flag" onclick="changeLanguage('eng')"/>

Test i jasmine som då inte funkar eftersom det är för node och inte vanilla...

describe("changeLanguage", () => {
it("Changes url and adds hash", () => {
let browser = changeLanguage();
expect(browser.getCurrentUrl()).toEndWith("#/eng");
});
})

Fått till svar: för att få ut URL:en i vanilla javascript kan du använda "document.URL"

Men vet ärligt talat inte vart jag ska trycka in det. Om nån har orken att säga var och varför så vore jag hemskt tacksam

Permalänk
Medlem

var som helst i din js-kod som körs i webbläsaren

const url = document.URL

edit: ser nu att det är node, fel av mig..

Permalänk
Entusiast
Skrivet av Jaevel:

var som helst i din js-kod som körs i webbläsaren

const url = document.URL

Så lägga det globalt och inte i funktionen i javascriptfilen alltså? Hur ska det skrivas i Jasmine för att testa funktionen/variabeln?

Permalänk
Entusiast

Nevermind, hittade en annan lättare funktion att testa som löste bekymret