Skip to content

Commit

Permalink
chore: wip
Browse files Browse the repository at this point in the history
  • Loading branch information
FrancescoBorzi committed May 16, 2020
1 parent 2567ee9 commit c8e070a
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 20 deletions.
Expand Up @@ -148,21 +148,21 @@ <h5 id="title" *ngIf="!!service.title">{{ service.title }}</h5>

</div>

<p class="title text-left cursor-pointer mt-3" (click)="descriptionToggle = !descriptionToggle">
<p class="title text-left cursor-pointer mt-3" (click)="descriptionToggle = !descriptionToggle" id="description-toggle">
<i class="fa" [ngClass]="getCollapseClass(descriptionToggle)"></i> Description
</p>
<div [collapse]="descriptionToggle" class="greyed text-sm" id="description-text">
{{ service.questTemplate.QuestDescription }}
</div>

<p class="title text-left cursor-pointer" (click)="progressToggle = !progressToggle">
<p class="title text-left cursor-pointer" (click)="progressToggle = !progressToggle" id="progress-toggle">
<i class="fa" [ngClass]="getCollapseClass(progressToggle)"></i> Progress (CompletionText)
</p>
<div [collapse]="progressToggle" class="greyed text-sm" id="progress-text">
{{ service.questRequestItems.CompletionText }}
</div>

<p class="title text-left cursor-pointer" (click)="completionToggle = !completionToggle">
<p class="title text-left cursor-pointer" (click)="completionToggle = !completionToggle" id="completion-toggle">
<i class="fa" [ngClass]="getCollapseClass(completionToggle)"></i> Completion (RewardText)
</p>
<div [collapse]="completionToggle" class="greyed text-sm" id="completion-text">
Expand Down
Expand Up @@ -13,7 +13,6 @@ import { MysqlQueryService } from '@keira-shared/services/mysql-query.service';
import { SqliteQueryService } from '@keira-shared/services/sqlite-query.service';
import { QuestRequestItems } from '@keira-types/quest-request-items.type';
import { QuestOfferReward } from '@keira-types/quest-offer-reward.type';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

class QuestPreviewComponentPage extends PageObject<QuestPreviewComponent> {
get title() { return this.query<HTMLHeadElement>('#title'); }
Expand All @@ -36,6 +35,16 @@ class QuestPreviewComponentPage extends PageObject<QuestPreviewComponent> {
get descriptionText() { return this.query<HTMLDivElement>('#description-text'); }
get progressText() { return this.query<HTMLDivElement>('#progress-text'); }
get completionText() { return this.query<HTMLDivElement>('#completion-text'); }
get descriptionToggle() { return this.query<HTMLParagraphElement>('#description-toggle'); }
get progressToggle() { return this.query<HTMLParagraphElement>('#progress-toggle'); }
get completionToggle() { return this.query<HTMLParagraphElement>('#completion-toggle'); }

expectCollapsed(element: HTMLElement) {
expect(this.queryInsideElement(element, 'i')).toHaveClass('fa-caret-right');
}
expectNotCollapsed(element: HTMLElement) {
expect(this.queryInsideElement(element, 'i')).toHaveClass('fa-caret-down');
}

getRaces(assert = true) { return this.query<HTMLParagraphElement>('#races', assert); }
}
Expand Down Expand Up @@ -296,25 +305,48 @@ describe('QuestPreviewComponent', () => {
fixture.debugElement.nativeElement.remove();
});

it('should show texts (description/progress/completion)', () => {
const { fixture, service, page } = setup();
const description = 'My description text';
const progress = 'My progress text';
const completion = 'My completion text';
describe('description/progress/completion', () => {
it('should contain the correct text', () => {
const { fixture, service, page } = setup();
const description = 'My description text';
const progress = 'My progress text';
const completion = 'My completion text';

const questTemplate = createMockObject({ QuestDescription: description }, QuestTemplate);
const questRequestItems = createMockObject({ CompletionText: progress }, QuestRequestItems);
const questOfferReward = createMockObject({ RewardText: completion }, QuestOfferReward);
const questTemplate = createMockObject({ QuestDescription: description }, QuestTemplate);
const questRequestItems = createMockObject({ CompletionText: progress }, QuestRequestItems);
const questOfferReward = createMockObject({ RewardText: completion }, QuestOfferReward);

spyOnProperty(service, 'questTemplate', 'get').and.returnValue(questTemplate);
spyOnProperty(service, 'questRequestItems', 'get').and.returnValue(questRequestItems);
spyOnProperty(service, 'questOfferReward', 'get').and.returnValue(questOfferReward);
spyOnProperty(service, 'questTemplate', 'get').and.returnValue(questTemplate);
spyOnProperty(service, 'questRequestItems', 'get').and.returnValue(questRequestItems);
spyOnProperty(service, 'questOfferReward', 'get').and.returnValue(questOfferReward);

fixture.detectChanges();
fixture.detectChanges();

expect(page.descriptionText.innerText).toContain(description);
expect(page.progressText.innerText).toContain(progress);
expect(page.completionText.innerText).toContain(completion);
page.removeElement();
expect(page.descriptionText.innerText).toContain(description);
expect(page.progressText.innerText).toContain(progress);
expect(page.completionText.innerText).toContain(completion);
page.removeElement();
});

it('should correctly toggle', () => {
const { fixture, page } = setup();

fixture.detectChanges();

page.expectCollapsed(page.descriptionToggle);
page.expectCollapsed(page.progressToggle);
page.expectCollapsed(page.completionToggle);

page.clickElement(page.descriptionToggle);
page.expectNotCollapsed(page.descriptionToggle);

page.clickElement(page.progressToggle);
page.expectNotCollapsed(page.progressToggle);

page.clickElement(page.completionToggle);
page.expectNotCollapsed(page.completionToggle);

page.removeElement();
});
});
});

0 comments on commit c8e070a

Please sign in to comment.