eFormSDK.Integration.CheckLists.SqlControllerTests/SqlControllerTestCheckListValue.cs
using System;
using System.IO;
using System.Reflection;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microting.eForm;
using Microting.eForm.Dto;
using Microting.eForm.Helpers;
using Microting.eForm.Infrastructure;
using Microting.eForm.Infrastructure.Constants;
using Microting.eForm.Infrastructure.Data.Entities;
using Microting.eForm.Infrastructure.Helpers;
using NUnit.Framework;
using Case = Microting.eForm.Infrastructure.Data.Entities.Case;
namespace eFormSDK.Integration.CheckLists.SqlControllerTests
{
[Parallelizable(ParallelScope.Fixtures)]
[TestFixture]
public class SqlControllerTestCheckListValue : DbTestFixture
{
private SqlController sut;
private TestHelpers testHelpers;
string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location).Replace(@"file:", "");
public override async Task DoSetup()
{
if (sut == null)
{
DbContextHelper dbContextHelper = new DbContextHelper(ConnectionString);
SqlController sql = new SqlController(dbContextHelper);
await sql.SettingUpdate(Settings.token, "abc1234567890abc1234567890abcdef");
await sql.SettingUpdate(Settings.firstRunDone, "true");
await sql.SettingUpdate(Settings.knownSitesDone, "true");
sut = new SqlController(dbContextHelper);
sut.StartLog(new CoreBase());
}
testHelpers = new TestHelpers(ConnectionString);
await testHelpers.GenerateDefaultLanguages();
await sut.SettingUpdate(Settings.fileLocationPicture,
Path.Combine(path, "output", "dataFolder", "picture"));
await sut.SettingUpdate(Settings.fileLocationPdf, Path.Combine(path, "output", "dataFolder", "pdf"));
await sut.SettingUpdate(Settings.fileLocationJasper, Path.Combine(path, "output", "dataFolder", "reports"));
}
[Test]
public async Task SQL_Check_CheckListValueStatusRead_ReturnsCheckListValuesStatus()
{
// Arrance
Random rnd = new Random();
#region Arrance
#region Template1
DateTime cl1_Ca = DateTime.Now;
DateTime cl1_Ua = DateTime.Now;
CheckList cl1 =
await testHelpers.CreateTemplate(cl1_Ca, cl1_Ua, "A", "D", "CheckList", "Template1FolderName", 1, 1);
#endregion
#region SubTemplate1
CheckList cl2 = await testHelpers.CreateSubTemplate("A.1", "D.1", "CheckList", 1, 1, cl1);
#endregion
// #region Fields
// #region field1
//
//
// fields f1 = await testHelpers.CreateField(1, "barcode", cl2, "e2f4fb", "custom", null, "", "Comment field description",
// 5, 1, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 0, 1, 0, "Comment field", 1, 55, "55", "0", 0, 0, null, 1, 0,
// 0, 0, "", 49);
//
// #endregion
//
// #region field2
//
//
// fields f2 = await testHelpers.CreateField(1, "barcode", cl2, "f5eafa", "custom", null, "", "showPDf Description",
// 45, 1, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 1, 0, 0,
// "ShowPdf", 0, 5, "5", "0", 0, 0, null, 0, 0, 0, 0, "", 9);
//
//
// #endregion
//
// #region field3
//
// fields f3 = await testHelpers.CreateField(0, "barcode", cl2, "f0f8db", "custom", 3, "", "Number Field Description",
// 83, 0, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 0, 1, 0,
// "Numberfield", 1, 8, "4865", "0", 0, 1, null, 1, 0, 0, 0, "", 1);
//
//
// #endregion
//
// #region field4
//
//
// fields f4 = await testHelpers.CreateField(1, "barcode", cl2, "fff6df", "custom", null, "", "date Description",
// 84, 0, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 0, 1, 0,
// "Date", 1, 666, "41153", "0", 0, 1, null, 0, 1, 0, 0, "", 1);
//
//
// #endregion
//
// #region field5
//
// fields f5 = await testHelpers.CreateField(0, "barcode", cl2, "ffe4e4", "custom", null, "", "picture Description",
// 85, 0, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 1, 0, 1, 0,
// "Picture", 1, 69, "69", "1", 0, 1, null, 0, 1, 0, 0, "", 1);
//
//
// #endregion
// #endregion
#region Worker
Worker worker = await testHelpers.CreateWorker("aa@tak.dk", "Arne", "Jensen", 21);
#endregion
#region site
Site site = await testHelpers.CreateSite("SiteName", 88);
#endregion
#region units
Unit unit = await testHelpers.CreateUnit(48, 49, site, 348);
#endregion
// #region site_workers
// site_workers site_workers = await testHelpers.CreateSiteWorker(55, site, worker);
//
// #endregion
#region Case1
Case aCase = await testHelpers.CreateCase("caseUId", cl1, DateTime.Now, "custom", DateTime.Now,
worker, rnd.Next(1, 255), rnd.Next(1, 255),
site, 66, "caseType", unit, DateTime.Now, 1, worker, Constants.WorkflowStates.Created);
#endregion
// #region UploadedData
// #region ud1
// uploaded_data ud1 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File1", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud2
// uploaded_data ud2 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File2", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud3
// uploaded_data ud3 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File3", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud4
// uploaded_data ud4 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File4", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud5
// uploaded_data ud5 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File5", 1, worker,
// "local", 55, false);
// #endregion
//
// #endregion
#region Check List Values
CheckListValue checkListValue = await testHelpers.CreateCheckListValue(aCase, cl2, "checked", null, 865);
#endregion
// #region Field Values
// #region fv1
// field_values field_Value1 = await testHelpers.CreateFieldValue(aCase, cl2, f1, ud1.Id, null, "tomt1", 61234, worker);
//
// #endregion
//
// #region fv2
// field_values field_Value2 = await testHelpers.CreateFieldValue(aCase, cl2, f2, ud2.Id, null, "tomt2", 61234, worker);
//
// #endregion
//
// #region fv3
// field_values field_Value3 = await testHelpers.CreateFieldValue(aCase, cl2, f3, ud3.Id, null, "tomt3", 61234, worker);
//
// #endregion
//
// #region fv4
// field_values field_Value4 = await testHelpers.CreateFieldValue(aCase, cl2, f4, ud4.Id, null, "tomt4", 61234, worker);
//
// #endregion
//
// #region fv5
// field_values field_Value5 = await testHelpers.CreateFieldValue(aCase, cl2, f5, ud5.Id, null, "tomt5", 61234, worker);
//
// #endregion
//
//
// #endregion
#endregion
// Act
var match = await sut.CheckListValueStatusRead(aCase.Id, cl2.Id);
// Assert
Assert.AreEqual(match, "checked");
}
[Test]
public async Task SQL_Check_CheckListValueStatusUpdate_UpdatesCheckListValues()
{
// Arrance
#region Arrance
Random rnd = new Random();
#region Template1
DateTime cl1_Ca = DateTime.Now;
DateTime cl1_Ua = DateTime.Now;
CheckList cl1 =
await testHelpers.CreateTemplate(cl1_Ca, cl1_Ua, "A", "D", "CheckList", "Template1FolderName", 1, 1);
#endregion
#region SubTemplate1
CheckList cl2 = await testHelpers.CreateSubTemplate("A.1", "D.1", "CheckList", 1, 1, cl1);
#endregion
// #region Fields
// #region field1
//
//
// fields f1 = await testHelpers.CreateField(1, "barcode", cl2, "e2f4fb", "custom", null, "", "Comment field description",
// 5, 1, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 0, 1, 0, "Comment field", 1, 55, "55", "0", 0, 0, null, 1, 0,
// 0, 0, "", 49);
//
// #endregion
//
// #region field2
//
//
// fields f2 = await testHelpers.CreateField(1, "barcode", cl2, "f5eafa", "custom", null, "", "showPDf Description",
// 45, 1, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 1, 0, 0,
// "ShowPdf", 0, 5, "5", "0", 0, 0, null, 0, 0, 0, 0, "", 9);
//
//
// #endregion
//
// #region field3
//
// fields f3 = await testHelpers.CreateField(0, "barcode", cl2, "f0f8db", "custom", 3, "", "Number Field Description",
// 83, 0, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 0, 1, 0,
// "Numberfield", 1, 8, "4865", "0", 0, 1, null, 1, 0, 0, 0, "", 1);
//
//
// #endregion
//
// #region field4
//
//
// fields f4 = await testHelpers.CreateField(1, "barcode", cl2, "fff6df", "custom", null, "", "date Description",
// 84, 0, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 0, 0, 1, 0,
// "Date", 1, 666, "41153", "0", 0, 1, null, 0, 1, 0, 0, "", 1);
//
//
// #endregion
//
// #region field5
//
// fields f5 = await testHelpers.CreateField(0, "barcode", cl2, "ffe4e4", "custom", null, "", "picture Description",
// 85, 0, dbContext.field_types.Where(x => x.FieldType == "picture").First(), 1, 0, 1, 0,
// "Picture", 1, 69, "69", "1", 0, 1, null, 0, 1, 0, 0, "", 1);
//
//
// #endregion
// #endregion
#region Worker
Worker worker = await testHelpers.CreateWorker("aa@tak.dk", "Arne", "Jensen", 21);
#endregion
#region site
Site site = await testHelpers.CreateSite("SiteName", 88);
#endregion
#region units
Unit unit = await testHelpers.CreateUnit(48, 49, site, 348);
#endregion
// #region site_workers
// site_workers site_workers = await testHelpers.CreateSiteWorker(55, site, worker);
//
// #endregion
#region Case1
Case aCase = await testHelpers.CreateCase("caseUId", cl1, DateTime.Now, "custom", DateTime.Now,
worker, rnd.Next(1, 255), rnd.Next(1, 255),
site, 66, "caseType", unit, DateTime.Now, 1, worker, Constants.WorkflowStates.Created);
#endregion
// #region UploadedData
// #region ud1
// uploaded_data ud1 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File1", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud2
// uploaded_data ud2 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File2", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud3
// uploaded_data ud3 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File3", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud4
// uploaded_data ud4 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File4", 1, worker,
// "local", 55, false);
// #endregion
//
// #region ud5
// uploaded_data ud5 = await testHelpers.CreateUploadedData("checksum", "File1", "no", "hjgjghjhg", "File5", 1, worker,
// "local", 55, false);
// #endregion
//
// #endregion
#region Check List Values
CheckListValue checkListValue = await testHelpers.CreateCheckListValue(aCase, cl2, "checked", null, 865);
#endregion
// #region Field Values
// #region fv1
// field_values field_Value1 = await testHelpers.CreateFieldValue(aCase, cl2, f1, ud1.Id, null, "tomt1", 61234, worker);
//
// #endregion
//
// #region fv2
// field_values field_Value2 = await testHelpers.CreateFieldValue(aCase, cl2, f2, ud2.Id, null, "tomt2", 61234, worker);
//
// #endregion
//
// #region fv3
// field_values field_Value3 = await testHelpers.CreateFieldValue(aCase, cl2, f3, ud3.Id, null, "tomt3", 61234, worker);
//
// #endregion
//
// #region fv4
// field_values field_Value4 = await testHelpers.CreateFieldValue(aCase, cl2, f4, ud4.Id, null, "tomt4", 61234, worker);
//
// #endregion
//
// #region fv5
// field_values field_Value5 = await testHelpers.CreateFieldValue(aCase, cl2, f5, ud5.Id, null, "tomt5", 61234, worker);
//
// #endregion
//
//
// #endregion
#endregion
// Act
await sut.CheckListValueStatusUpdate(aCase.Id, cl2.Id, "not_approved");
// Assert
var newValue = await DbContext.CheckListValues.AsNoTracking()
.FirstOrDefaultAsync(x => x.Id == checkListValue.Id);
Assert.AreEqual(newValue.Status, "not_approved");
}
#region eventhandlers
#pragma warning disable 1998
public async Task EventCaseCreated(object sender, EventArgs args)
{
// Does nothing for web implementation
}
public async Task EventCaseRetrived(object sender, EventArgs args)
{
// Does nothing for web implementation
}
public async Task EventCaseCompleted(object sender, EventArgs args)
{
// Does nothing for web implementation
}
public async Task EventCaseDeleted(object sender, EventArgs args)
{
// Does nothing for web implementation
}
public async Task EventFileDownloaded(object sender, EventArgs args)
{
// Does nothing for web implementation
}
public async Task EventSiteActivated(object sender, EventArgs args)
{
// Does nothing for web implementation
}
#pragma warning restore 1998
#endregion
}
}