Skip to content

Commit

Permalink
Merge 5de0931 into 8c10377
Browse files Browse the repository at this point in the history
  • Loading branch information
Helias committed May 23, 2020
2 parents 8c10377 + 5de0931 commit 2b83b9c
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 2 deletions.
Expand Up @@ -185,7 +185,7 @@ <h5 id="title" *ngIf="!!service.title">{{ service.title }}</h5>
</div>

<!-- Reward Item -->
<div *ngIf="service.isRewardItems()" class="mt-3">
<div id="reward-items" *ngIf="service.isRewardItems()" class="mt-3">
<p>You will receive: </p>
<div *ngFor="let i of [1,2,3,4]">
<p *ngIf="service.isFieldAvailable('RewardItem', 'RewardAmount', i)">
Expand All @@ -197,7 +197,7 @@ <h5 id="title" *ngIf="!!service.title">{{ service.title }}</h5>
</div>

<!-- Reward Choice Item -->
<div *ngIf="service.isRewardChoiceItems()" class="mt-3">
<div id="reward-choice-items" *ngIf="service.isRewardChoiceItems()" class="mt-3">
<p>You will be able to choose one of these rewards:</p>

<div *ngFor="let i of [1,2,3,4]">
Expand Down
Expand Up @@ -34,6 +34,9 @@ class QuestPreviewComponentPage extends PageObject<QuestPreviewComponent> {
get requiredMoney() { return this.query<HTMLDivElement>('#required-money', false); }
get rewardMoney() { return this.query<HTMLDivElement>('#reward-money', false); }
get rewardBonusMoney() { return this.query<HTMLDivElement>('#reward-bonus-money', false); }
get rewardSpell() { return this.query<HTMLDivElement>('#rewardSpell', false); }
get rewardItems() { return this.query<HTMLDivElement>('#reward-items', false); }
get rewardChoiceItems() { return this.query<HTMLDivElement>('#reward-choice-items', false); }

get descriptionText() { return this.query<HTMLDivElement>('#description-text'); }
get progressText() { return this.query<HTMLDivElement>('#progress-text'); }
Expand Down Expand Up @@ -412,5 +415,81 @@ describe('QuestPreviewComponent', () => {

page.removeElement();
});

it('should correctly show the reward spell', async() => {
const { fixture, service, page, sqliteQueryService } = setup();
const rewardSpellSpy = spyOn(service, 'rewardSpell');
const questTemplate = createMockObject({ rewardSpell: 123 }, QuestTemplate);
spyOnProperty(service, 'questTemplate', 'get').and.returnValue(questTemplate);
spyOn(sqliteQueryService, 'getSpellNameById').and.returnValue(Promise.resolve('Mock Spell'));

rewardSpellSpy.and.returnValue(null);
fixture.detectChanges();

expect(page.rewardSpell).toBeNull();

rewardSpellSpy.and.returnValue(123);

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

expect(page.rewardSpell).toBeDefined();
expect(page.rewardSpell.innerText).toContain('You will learn:');
expect(page.rewardSpell.innerText).toContain('Mock Spell');

page.removeElement();
});

it('should correctly show the reward items', async() => {
const { fixture, service, page, mysqlQueryService } = setup();
const isRewardItemsSpy = spyOn(service, 'isRewardItems');
const questTemplate = createMockObject({ RewardItem1: 123, RewardAmount1: 1 }, QuestTemplate);
spyOnProperty(service, 'questTemplate', 'get').and.returnValue(questTemplate);
spyOn(mysqlQueryService, 'getItemNameById').and.returnValue(Promise.resolve('Mock Item'));

isRewardItemsSpy.and.returnValue(false);
fixture.detectChanges();

expect(page.rewardItems).toBe(null);

isRewardItemsSpy.and.returnValue(true);

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

expect(page.rewardItems).toBeDefined();
expect(page.rewardItems.innerText).toContain('You will receive:');
expect(page.rewardItems.innerText).toContain('Mock Item');

page.removeElement();
});

it('should correctly show the reward choice items', async() => {
const { fixture, service, page, mysqlQueryService } = setup();
const isRewardChoiceItemsSpy = spyOn(service, 'isRewardChoiceItems');
const questTemplate = createMockObject({ RewardChoiceItemID1: 123, RewardChoiceItemQuantity1: 1 }, QuestTemplate);
spyOnProperty(service, 'questTemplate', 'get').and.returnValue(questTemplate);
spyOn(mysqlQueryService, 'getItemNameById').and.returnValue(Promise.resolve('Mock Item'));

isRewardChoiceItemsSpy.and.returnValue(false);
fixture.detectChanges();

expect(page.rewardChoiceItems).toBe(null);

isRewardChoiceItemsSpy.and.returnValue(true);

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

expect(page.rewardChoiceItems).toBeDefined();
expect(page.rewardChoiceItems.innerText).toContain('You will be able to choose one of these rewards');
expect(page.rewardChoiceItems.innerText).toContain('Mock Item');

page.removeElement();
});

});
});

0 comments on commit 2b83b9c

Please sign in to comment.