Skip to content

Commit

Permalink
chore: wip
Browse files Browse the repository at this point in the history
  • Loading branch information
FrancescoBorzi committed May 3, 2020
1 parent 595ebe4 commit 4d2fde7
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ class QuestPreviewComponentPage extends PageObject<QuestPreviewComponent> {
get startIcon() { return this.query<HTMLImageElement>('#questStartIcon'); }
get endIcon() { return this.query<HTMLImageElement>('#questEndIcon'); }
get questType() { return this.query<HTMLParagraphElement>('#type'); }
get races() { return this.query<HTMLParagraphElement>('#races'); }
get classes() { return this.query<HTMLParagraphElement>('#classes'); }
get requiredSkill() { return this.query<HTMLParagraphElement>('#requiredSkill'); }
get racesElement() { return this.fixture.nativeElement.querySelector('#races'); }
get providedItem() { return this.query<HTMLParagraphElement>('#provided-item'); }

getRaces(assert = true) { return this.query<HTMLParagraphElement>('#races', assert); }
}

describe('QuestPreviewComponent', () => {
Expand Down Expand Up @@ -113,13 +114,13 @@ describe('QuestPreviewComponent', () => {

fixture.detectChanges();

expect(page.races.innerText).toContain('Orc');
expect(page.races.innerText).toContain('Night Elf');
expect(page.getRaces().innerText).toContain('Orc');
expect(page.getRaces().innerText).toContain('Night Elf');

// in case of "Side"
sideSpy.and.returnValue('Alliance');
fixture.detectChanges();
expect(page.racesElement).toBeFalsy();
expect(page.getRaces(false)).toBeFalsy();
page.removeElement();
});

Expand All @@ -137,7 +138,6 @@ describe('QuestPreviewComponent', () => {
it('should show required skill', async() => {
const { fixture, service, page, questTemplateAddonService } = setup();
spyOnProperty(service, 'requiredSkill$', 'get').and.returnValue(Promise.resolve('Jewelcrafting'));
questTemplateAddonService.form.controls.RequiredSkillID.setValue(755);

fixture.detectChanges();
await fixture.whenStable();
Expand All @@ -150,4 +150,20 @@ describe('QuestPreviewComponent', () => {
expect(page.requiredSkill.innerText).toContain('(10)');
page.removeElement();
});

it('should show provided item (start item)', async() => {
const { fixture, service, page } = setup();
const mockStartItem = 123456;
const mockStartItemName = 'Sword of AzerothCore';
spyOnProperty(service, 'startItem', 'get').and.returnValue(mockStartItem);
spyOnProperty(service, 'startItemName$', 'get').and.returnValue(Promise.resolve(mockStartItemName));

fixture.detectChanges();
await fixture.whenStable();
fixture.detectChanges();

expect(page.providedItem.innerText).toContain(`[${mockStartItem}]`);
expect(page.providedItem.innerText).toContain(mockStartItemName);
page.removeElement();
});
});
13 changes: 13 additions & 0 deletions src/app/features/quest/quest-preview/quest-preview.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,19 @@ describe('QuestPreviewService', () => {
expect(service.sharable).toBe('Not sharable');
});

it('start item', async () => {
const { service, questTemplateService, mysqlQueryService } = setup();
const mockStartItem = 123456;
const mockStartItemName = 'Sword of AzerothCore';
spyOn(mysqlQueryService, 'getItemNameById').and.callFake(() => of(mockStartItemName).toPromise());

questTemplateService.form.controls.StartItem.setValue(mockStartItem);

expect(service.startItem).toEqual(mockStartItem);
expect(await service.startItemName$).toEqual(mockStartItemName);
expect(mysqlQueryService.getItemNameById).toHaveBeenCalledWith(mockStartItem);
});

it('handle questTemplateAddon values', () => {
const { service, questTemplateAddonService } = setup();

Expand Down

0 comments on commit 4d2fde7

Please sign in to comment.