Skip to content

Commit ad5ed8f

Browse files
authored
Merge pull request #122 from Gid733/master
Email validation fixes & multiple audio
2 parents 2bb925e + ece441c commit ad5ed8f

File tree

10 files changed

+42
-24
lines changed

10 files changed

+42
-24
lines changed

eFormAPI/eFormAPI/Infrastructure/Helpers/CaseUpdateHelper.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,14 @@ public static List<string> GetFieldValuesByRequestField(CaseEditRequestField edi
123123
list.Add(val);
124124
}
125125
break;
126+
case "Audio":
127+
var audioFirst = editRequestField?.FieldValues?.First();
128+
if (audioFirst?.Value != null && audioFirst?.FieldId != null)
129+
{
130+
string val = $"{audioFirst.FieldId}|{audioFirst.Value.ToString()}";
131+
list.Add(val);
132+
}
133+
break;
126134
}
127135
return list;
128136
}

eFormAPI/eFormAPI/Infrastructure/Helpers/SettingsHelper.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ public void CreateAdminUser(AdminSetupModel adminSetupModel)
4141
};
4242
if (!manager.Users.Any(x => x.Email.Equals(adminUser.Email)))
4343
{
44+
manager.UserValidator = new UserValidator<EformUser, int>(manager)
45+
{
46+
AllowOnlyAlphanumericUserNames = false,
47+
RequireUniqueEmail = true
48+
};
4449
IdentityResult ir = manager.Create(adminUser, adminSetupModel.Password);
4550
if (ir != null)
4651
{

eform-client/e2e/Page objects/Device users/DeviceUsersPage.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export class DeviceUsersPage {
2020

2121
// actions
2222
async getRowsNumber(): Promise<number> {
23+
await browser.sleep(4000);
2324
return await $$(data.DeviceUsersPage.rowCountSelector).count();
2425
}
2526

eform-client/e2e/dbData.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ export default {
77
dataSourceSDK: '(LocalDb)\\SharedInstance',
88
initialCatalogueSDK: 'eFormSDK',
99
authenticationTypeSDK: 'Integrated Security=True',
10-
token: 'abc1234567890abc1234567890abcdef',
1110
dataSourceMain: '(LocalDb)\\SharedInstance',
11+
token: 'abc1234567890abc1234567890abcdef',
1212
initialCatalogueMain: 'eFormMain',
1313
authenticationTypeMain: 'Integrated Security=True',
1414
languageOptions: {

eform-client/e2e/tests/device-users/device-users.add.e2e-spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ describe('Tests for adding users', function () {
8181
const initialRowsNumber = await deviceUsersPage.getRowsNumber();
8282
await deviceUsersPage.newDeviceUserButton.click();
8383
await browser.wait(ExpectedConditions.visibilityOf(deviceUsersPage.addNewUserModal.saveButton));
84+
await browser.sleep(4000);
8485
await deviceUsersPage.addNewUserModal.cancelButton.click();
8586
await browser.wait(ExpectedConditions.visibilityOf(deviceUsersPage.newDeviceUserButton));
8687
const finalRowsNumber = await deviceUsersPage.getRowsNumber();

eform-client/e2e/tests/main-page/main-page.create-eform.e2e-spec.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ describe('Main Page - CREATE', function () {
8989
it('should create eform with creating 1 tag and using 1 already prepared tag', async () => {
9090
const initRowNum = await mainPage.getRowNumber();
9191
await mainPage.newEformBtn.click();
92-
await browser.wait(ExpectedConditions.elementToBeClickable(mainPage.createEFormModal.saveEFormBtn));
9392
try {
9493
await mainPage.createEFormModal.closeTagInputBtn.isDisplayed();
9594
await waitFor(mainPage.createEFormModal.closeTagInputBtn);
@@ -120,21 +119,13 @@ describe('Main Page - CREATE', function () {
120119
it('should create eform while adding 1 already prepared tag', async () => {
121120
const initRowNum = await mainPage.getRowNumber();
122121
await mainPage.newEformBtn.click();
123-
await waitFor(mainPage.createEFormModal.saveEFormBtn);
124122
try {
125123
await mainPage.createEFormModal.closeTagInputBtn.isDisplayed();
126124
await waitFor(mainPage.createEFormModal.closeTagInputBtn);
127125
await browser.sleep(1500);
128126
await mainPage.createEFormModal.closeTagInputBtn.click();
129127
await browser.sleep(1500);
130-
await waitFor(mainPage.createEFormModal.addTagBtn);
131-
await browser.sleep(1500);
132-
await mainPage.createEFormModal.addTagBtn.click();
133128
} catch (e) {
134-
await waitFor(mainPage.createEFormModal.addTagBtn);
135-
await browser.sleep(1500);
136-
await mainPage.createEFormModal.addTagBtn.click();
137-
await browser.sleep(1500);
138129
}
139130
await mainPage.createEFormModal.tagSelector.click();
140131
await mainPage.createEFormModal.selectTag(data.MainPage.firstTagForAdding);
@@ -150,7 +141,6 @@ describe('Main Page - CREATE', function () {
150141
it('should create eform while adding more than 2 already prepared tags', async () => {
151142
const initRowNum = await mainPage.getRowNumber();
152143
await mainPage.newEformBtn.click();
153-
await browser.wait(ExpectedConditions.elementToBeClickable(mainPage.createEFormModal.saveEFormBtn));
154144
try {
155145
await mainPage.createEFormModal.closeTagInputBtn.isDisplayed();
156146
await mainPage.createEFormModal.closeTagInputBtn.click();
@@ -181,6 +171,11 @@ describe('Main Page - CREATE', function () {
181171
await browser.waitForAngular();
182172
const initRowNum = await mainPage.getRowNumber();
183173
await mainPage.newEformBtn.click();
174+
try {
175+
await mainPage.createEFormModal.closeTagInputBtn.isDisplayed();
176+
await mainPage.createEFormModal.closeTagInputBtn.click();
177+
} catch (e) {
178+
}
184179
await waitFor(mainPage.createEFormModal.cancelBtn);
185180
await mainPage.createEFormModal.saveEFormBtn.click();
186181
await waitFor(mainPage.newEformBtn);

eform-client/protractor.conf.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,13 @@ exports.config = {
3232
'main-page-pairing':'./e2e/tests/main-page/main-page.pairing-eform.e2e-spec.ts'
3333
},
3434
SELENIUM_PROMISE_MANAGER: false,
35+
ignoreUncaughtExceptions: true,
3536
capabilities: {
3637
browserName: 'chrome',
3738
maxSessions: 1,
38-
maxInstances: 1
39+
maxInstances: 1,
40+
// options for headless mode
41+
chromeOptions: {args: ["--headless", "--disable-gpu"]}
3942
},
4043
directConnect: true,
4144
baseUrl:

eform-client/src/app/modules/cases/components/case-edit-switch/case-edit-switch.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
<element-entityselect [(fieldValue)]="dataItem.fieldValues[0]" [entityGroupUid]="dataItem.entityGroupId"></element-entityselect>
5858
</div>
5959
<div *ngSwitchCase="'Audio'">
60-
<element-audio [(fieldValue)]="dataItem.fieldValues[0]"></element-audio>
60+
<element-audio [(fieldValues)]="dataItem.fieldValues"></element-audio>
6161
</div>
6262
<div *ngSwitchDefault></div>
6363
</div>
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
<audio controls preload="auto"
2-
*ngIf="fieldValueObj.uploadedDataObj && fieldValueObj.uploadedDataObj.fileName"
3-
src="/api/audio/eform-audio?fileName={{fieldValueObj.uploadedDataObj.fileName}}">
4-
This text displays if the audio tag isn't supported.
5-
</audio>
6-
<trumbowyg-editor [(content)]="fieldValueObj.value"></trumbowyg-editor>
1+
<div *ngFor="let fieldValueObj of fieldValueObjects" style="margin-bottom: 10px;">
2+
<audio controls preload="auto"
3+
*ngIf="fieldValueObj.uploadedDataObj && fieldValueObj.uploadedDataObj.fileName"
4+
src="/api/audio/eform-audio?fileName={{fieldValueObj.uploadedDataObj.fileName}}">
5+
This text displays if the audio tag isn't supported.
6+
</audio>
7+
<trumbowyg-editor [(content)]="fieldValueObj.value"></trumbowyg-editor>
8+
</div>
9+
10+
11+
712

eform-client/src/app/modules/cases/components/case-elements/element-audio/element-audio.component.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ import {CaseFieldValue} from 'app/models';
77
styleUrls: ['./element-audio.component.css']
88
})
99
export class ElementAudioComponent implements OnInit {
10-
fieldValueObj: CaseFieldValue = new CaseFieldValue();
10+
fieldValueObjects: Array<CaseFieldValue> = [];
1111

1212
@Input()
13-
get fieldValue() {
14-
return this.fieldValueObj;
13+
get fieldValues() {
14+
return this.fieldValueObjects;
1515
}
1616

17-
set fieldValue(val) {
18-
this.fieldValueObj = val;
17+
set fieldValues(val) {
18+
this.fieldValueObjects = val;
1919
}
2020

2121
constructor() {

0 commit comments

Comments
 (0)