Skip to content

Commit

Permalink
test(quest-preview): add integration tests (#659)
Browse files Browse the repository at this point in the history
* test(quest-preview): add integration tests

* chore: wip
  • Loading branch information
FrancescoBorzi committed May 3, 2020
1 parent 3d71812 commit 4eb5452
Show file tree
Hide file tree
Showing 8 changed files with 91 additions and 10 deletions.
Expand Up @@ -10,7 +10,9 @@ import { QuestHandlerService } from '../quest-handler.service';
import { QuestModule } from '../quest.module';
import { QuestPreviewService } from '../quest-preview/quest-preview.service';

class CreatureQuestenderPage extends MultiRowEditorPageObject<CreatureQuestenderComponent> {}
class CreatureQuestenderPage extends MultiRowEditorPageObject<CreatureQuestenderComponent> {
get questPreviewNpcEnd() { return this.query(`${this.PREVIEW_CONTAINER_SELECTOR} #npc-end`); }
}

describe('CreatureQuestender integration tests', () => {
const id = 1234;
Expand Down Expand Up @@ -134,6 +136,18 @@ describe('CreatureQuestender integration tests', () => {
);
page.removeElement();
});

it('changing a property should be reflected in the quest preview', () => {
const { page } = setup(true);
const value = 1234;

page.addNewRow();
page.clickRowOfDatatable(0);
page.setInputValueById('id', value);

expect(page.questPreviewNpcEnd.innerText).toContain(`[${value}]`);
page.removeElement();
});
});

describe('Editing existing', () => {
Expand Down
Expand Up @@ -11,7 +11,9 @@ import { QuestHandlerService } from '../quest-handler.service';
import { QuestModule } from '../quest.module';
import { QuestPreviewService } from '../quest-preview/quest-preview.service';

class CreatureQueststarterPage extends MultiRowEditorPageObject<CreatureQueststarterComponent> {}
class CreatureQueststarterPage extends MultiRowEditorPageObject<CreatureQueststarterComponent> {
get questPreviewNpcStart() { return this.query(`${this.PREVIEW_CONTAINER_SELECTOR} #npc-start`); }
}

describe('CreatureQueststarter integration tests', () => {
const id = 1234;
Expand Down Expand Up @@ -136,6 +138,18 @@ describe('CreatureQueststarter integration tests', () => {
);
page.removeElement();
});

it('changing a property should be reflected in the quest preview', () => {
const { page } = setup(true);
const value = 1234;

page.addNewRow();
page.clickRowOfDatatable(0);
page.setInputValueById('id', value);

expect(page.questPreviewNpcStart.innerText).toContain(`[${value}]`);
page.removeElement();
});
});

describe('Editing existing', () => {
Expand Down
Expand Up @@ -10,7 +10,9 @@ import { QuestHandlerService } from '../quest-handler.service';
import { QuestModule } from '../quest.module';
import { QuestPreviewService } from '../quest-preview/quest-preview.service';

class GameobjectQuestenderPage extends MultiRowEditorPageObject<GameobjectQuestenderComponent> {}
class GameobjectQuestenderPage extends MultiRowEditorPageObject<GameobjectQuestenderComponent> {
get questPreviewGoEnd() { return this.query(`${this.PREVIEW_CONTAINER_SELECTOR} #go-end`); }
}

describe('GameobjectQuestender integration tests', () => {
const id = 1234;
Expand Down Expand Up @@ -136,6 +138,18 @@ describe('GameobjectQuestender integration tests', () => {
);
page.removeElement();
});

it('changing a property should be reflected in the quest preview', () => {
const { page } = setup(true);
const value = 1234;

page.addNewRow();
page.clickRowOfDatatable(0);
page.setInputValueById('id', value);

expect(page.questPreviewGoEnd.innerText).toContain(`[${value}]`);
page.removeElement();
});
});

describe('Editing existing', () => {
Expand Down
Expand Up @@ -10,7 +10,9 @@ import { QuestHandlerService } from '../quest-handler.service';
import { QuestModule } from '../quest.module';
import { QuestPreviewService } from '../quest-preview/quest-preview.service';

class GameobjectQueststarterPage extends MultiRowEditorPageObject<GameobjectQueststarterComponent> {}
class GameobjectQueststarterPage extends MultiRowEditorPageObject<GameobjectQueststarterComponent> {
get questPreviewGoStart() { return this.query(`${this.PREVIEW_CONTAINER_SELECTOR} #go-start`); }
}

describe('GameobjectQueststarter integration tests', () => {
const id = 1234;
Expand Down Expand Up @@ -135,6 +137,18 @@ describe('GameobjectQueststarter integration tests', () => {
);
page.removeElement();
});

it('changing a property should be reflected in the quest preview', () => {
const { page } = setup(true);
const value = 1234;

page.addNewRow();
page.clickRowOfDatatable(0);
page.setInputValueById('id', value);

expect(page.questPreviewGoStart.innerText).toContain(`[${value}]`);
page.removeElement();
});
});

describe('Editing existing', () => {
Expand Down
Expand Up @@ -33,23 +33,23 @@ <h5 id="title" *ngIf="!!service.title">{{ service.title }}</h5>
<keira-icon [size]="'small'" [itemId]="qitem"></keira-icon>
<strong class="colored"> {{ service.questStarterItem$ | async }}</strong> <span class="greyed"> [{{ qitem }}]</span>
</p>
<div *ngIf="service.creatureQueststarterList.length > 0">
<div *ngIf="service.creatureQueststarterList.length > 0" id="npc-start">
<p *ngFor="let q of service.creatureQueststarterList">
<img [src]="'assets/img/quest/' + questStartIcon" id="questStartIcon"> NPC Start: <strong class="colored">{{ service.mysqlQueryService.getCreatureNameById(q.id) | async }}</strong> <span class="greyed"> [{{ q.id }}]</span>
</p>
</div>
<div *ngIf="service.gameobjectQueststarterList.length > 0">
<div *ngIf="service.gameobjectQueststarterList.length > 0" id="go-start">
<p *ngFor="let q of service.gameobjectQueststarterList">
<img [src]="'assets/img/quest/' + questStartIcon" id="questStartIcon"> GO Start: <strong class="colored">{{ service.mysqlQueryService.getGameObjectNameById(q.id) | async }}</strong> <span class="greyed"> [{{ q.id }}]</span>
</p>
</div>
<!-- Quest ender -->
<div *ngIf="service.creatureQuestenderList.length > 0">
<div *ngIf="service.creatureQuestenderList.length > 0" id="npc-end">
<p *ngFor="let q of service.creatureQuestenderList">
<img [src]="'assets/img/quest/' + questEndIcon" id="questEndIcon"> NPC End: <strong class="colored">{{ service.mysqlQueryService.getCreatureNameById(q.id) | async }}</strong> <span class="greyed"> [{{ q.id }}]</span>
</p>
</div>
<div *ngIf="service.gameobjectQuestenderList.length > 0">
<div *ngIf="service.gameobjectQuestenderList.length > 0" id="go-end">
<p *ngFor="let q of service.gameobjectQuestenderList">
<img [src]="'assets/img/quest/' + questEndIcon" id="questEndIcon"> GO End: <strong class="colored">{{ service.mysqlQueryService.getGameObjectNameById(q.id) | async }}</strong> <span class="greyed"> [{{ q.id }}]</span>
</p>
Expand Down
Expand Up @@ -15,7 +15,9 @@ import { SqliteService } from '@keira-shared/services/sqlite.service';
import { QuestModule } from '../quest.module';
import { QuestPreviewService } from '../quest-preview/quest-preview.service';

class QuestTemplateAddonPage extends EditorPageObject<QuestTemplateAddonComponent> {}
class QuestTemplateAddonPage extends EditorPageObject<QuestTemplateAddonComponent> {
get questPreviewReqLevel() { return this.query(`${this.PREVIEW_CONTAINER_SELECTOR} #minlevel`); }
}

describe('QuestTemplateAddon integration tests', () => {

Expand Down Expand Up @@ -130,6 +132,16 @@ describe('QuestTemplateAddon integration tests', () => {
expect(querySpy.calls.mostRecent().args[0]).toContain(expectedQuery);
page.removeElement();
});

it('changing a property should be reflected in the quest preview', () => {
const { page } = setup(true);
const value = 80;

page.setInputValueById('MaxLevel', value);

expect(page.questPreviewReqLevel.innerText).toContain(`0 - ${value}`);
page.removeElement();
});
});

describe('Editing existing', () => {
Expand Down
Expand Up @@ -10,7 +10,9 @@ import { QuestHandlerService } from '../quest-handler.service';
import { QuestModule } from '../quest.module';
import { QuestPreviewService } from '../quest-preview/quest-preview.service';

class QuestTemplatePage extends EditorPageObject<QuestTemplateComponent> {}
class QuestTemplatePage extends EditorPageObject<QuestTemplateComponent> {
get questPreviewTitle() { return this.query(`${this.PREVIEW_CONTAINER_SELECTOR} #title`); }
}

describe('QuestTemplate integration tests', () => {

Expand Down Expand Up @@ -114,6 +116,16 @@ describe('QuestTemplate integration tests', () => {
expect(querySpy.calls.mostRecent().args[0]).toContain('Shin');
page.removeElement();
});

it('changing a property should be reflected in the quest preview', () => {
const { page } = setup(true);
const value = 'Fix all AzerothCore bugs';

page.setInputValueById('LogTitle', value);

expect(page.questPreviewTitle.innerText).toContain(value);
page.removeElement();
});
});

describe('Editing existing', () => {
Expand Down
1 change: 1 addition & 0 deletions src/app/shared/testing/editor-page-object.ts
Expand Up @@ -6,6 +6,7 @@ import { QueryOutputComponentPage } from '../modules/query-output/query-output.c
import { TableRow } from '../types/general';

export abstract class EditorPageObject<T> extends PageObject<T> {
public readonly PREVIEW_CONTAINER_SELECTOR = '.preview-container';
protected readonly queryPo: QueryOutputComponentPage;

get queryTypeSwitchWrapper() { return this.query<HTMLDivElement>('.query-type-switch'); }
Expand Down

0 comments on commit 4eb5452

Please sign in to comment.