public void Test_CostCenter_CRUD() { #region Arrange //Add code to create required resources #endregion Arrange ICostCenterConnector connector = new CostCenterConnector(); #region CREATE var newCostCenter = new CostCenter() { Code = TestUtils.RandomString(5), Description = "TestCostCenter", Active = true, Note = "Some notes" }; var createdCostCenter = connector.Create(newCostCenter); MyAssert.HasNoError(connector); Assert.AreEqual("TestCostCenter", createdCostCenter.Description); #endregion CREATE #region UPDATE createdCostCenter.Description = "UpdatedTestCostCenter"; var updatedCostCenter = connector.Update(createdCostCenter); MyAssert.HasNoError(connector); Assert.AreEqual("UpdatedTestCostCenter", updatedCostCenter.Description); #endregion UPDATE #region READ / GET var retrievedCostCenter = connector.Get(createdCostCenter.Code); MyAssert.HasNoError(connector); Assert.AreEqual("UpdatedTestCostCenter", retrievedCostCenter.Description); #endregion READ / GET #region DELETE connector.Delete(createdCostCenter.Code); MyAssert.HasNoError(connector); retrievedCostCenter = connector.Get(createdCostCenter.Code); Assert.AreEqual(null, retrievedCostCenter, "Entity still exists after Delete!"); #endregion DELETE #region Delete arranged resources //Add code to delete temporary resources #endregion Delete arranged resources }
public void Test_Find() { #region Arrange //Add code to create required resources #endregion Arrange ICostCenterConnector connector = new CostCenterConnector(); var newCostCenter = new CostCenter() { Code = TestUtils.RandomString(), Description = "TestCostCenter", Active = true, Note = "Some notes" }; //Add entries for (var i = 0; i < 5; i++) { newCostCenter.Code = TestUtils.RandomString(5); connector.Create(newCostCenter); MyAssert.HasNoError(connector); } //Apply base test filter connector.Search.LastModified = DateTime.Now.AddMinutes(-5); var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, fullCollection.TotalResources); Assert.AreEqual(5, fullCollection.Entities.Count); Assert.AreEqual(1, fullCollection.TotalPages); Assert.AreEqual("TestCostCenter", fullCollection.Entities[0].Description); //Apply Limit connector.Search.Limit = 2; var limitedCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, limitedCollection.TotalResources); Assert.AreEqual(2, limitedCollection.Entities.Count); Assert.AreEqual(3, limitedCollection.TotalPages); //Delete entries foreach (var entry in fullCollection.Entities) { connector.Delete(entry.Code); } #region Delete arranged resources //Add code to delete temporary resources #endregion Delete arranged resources }
public void Test_Find() { #region Arrange var tmpCostCenter = new CostCenterConnector().Get("TMP") ?? new CostCenterConnector().Create(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); var tmpAssetType = new AssetTypesConnector().Create(new AssetType() { Description = "TmpAssetType", Type = "1", Number = TestUtils.RandomString(3), AccountAssetId = 1150, AccountDepreciationId = 7824, AccountValueLossId = 1159 }); #endregion Arrange var testKeyMark = TestUtils.RandomString(); IAssetConnector connector = new AssetConnector(); var newAsset = new Asset() { Description = testKeyMark, AcquisitionDate = new DateTime(2011, 1, 1), AcquisitionStart = new DateTime(2011, 2, 1), AcquisitionValue = 500, DepreciationFinal = new DateTime(2012, 1, 1), Department = "Some Department", Notes = "Some notes", Group = "Some Group", Room = "Some room", Placement = "Right here", CostCenter = tmpCostCenter.Code, TypeId = tmpAssetType.Id.ToString() }; //Add entries for (var i = 0; i < 5; i++) { newAsset.Number = TestUtils.RandomString(); connector.Create(newAsset); } //Apply base test filter connector.Description = testKeyMark; var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, fullCollection.TotalResources); Assert.AreEqual(5, fullCollection.Entities.Count); Assert.AreEqual(1, fullCollection.TotalPages); //Apply Limit connector.Limit = 2; var limitedCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, limitedCollection.TotalResources); Assert.AreEqual(2, limitedCollection.Entities.Count); Assert.AreEqual(3, limitedCollection.TotalPages); //Delete entries foreach (var entry in fullCollection.Entities) { connector.Delete(entry.Id); } #region Delete arranged resources new CostCenterConnector().Delete(tmpCostCenter.Code); new AssetTypesConnector().Delete(tmpAssetType.Id); #endregion Delete arranged resources }
public void Test_Asset_CRUD() { #region Arrange var tmpCostCenter = new CostCenterConnector().Get("TMP") ?? new CostCenterConnector().Create(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); var tmpAssetType = new AssetTypesConnector().Create(new AssetType() { Description = "TmpAssetType", Type = "1", Number = TestUtils.RandomString(3), AccountAssetId = 1150, AccountDepreciationId = 7824, AccountValueLossId = 1159 }); #endregion Arrange IAssetConnector connector = new AssetConnector(); #region CREATE var newAsset = new Asset() { Description = "TestAsset", Number = TestUtils.RandomString(), AcquisitionDate = new DateTime(2011, 1, 1), AcquisitionStart = new DateTime(2011, 2, 1), AcquisitionValue = 500, DepreciationFinal = new DateTime(2012, 1, 1), Department = "Some Department", Notes = "Some notes", Group = "Some Group", Room = "Some room", Placement = "Right here", CostCenter = tmpCostCenter.Code, TypeId = tmpAssetType.Id.ToString() }; var createdAsset = connector.Create(newAsset); MyAssert.HasNoError(connector); Assert.AreEqual("TestAsset", createdAsset.Description); //returns entity named "Assets" instead of "asset" #endregion CREATE #region UPDATE createdAsset.Description = "UpdatedTestAsset"; var updatedAsset = connector.Update(createdAsset); MyAssert.HasNoError(connector); Assert.AreEqual("UpdatedTestAsset", updatedAsset.Description); #endregion UPDATE #region READ / GET var retrievedAsset = connector.Get(createdAsset.Id); MyAssert.HasNoError(connector); Assert.AreEqual("UpdatedTestAsset", retrievedAsset.Description); #endregion READ / GET #region DELETE connector.Delete(createdAsset.Id); MyAssert.HasNoError(connector); retrievedAsset = connector.Get(createdAsset.Id); Assert.AreEqual(null, retrievedAsset, "Entity still exists after Delete!"); #endregion DELETE #region Delete arranged resources new CostCenterConnector().Delete(tmpCostCenter.Code); new AssetTypesConnector().Delete(tmpAssetType.Id); #endregion Delete arranged resources }
public void Test_Find() { #region Arrange var tmpEmployee = new EmployeeConnector().Get("TEST_EMP") ?? new EmployeeConnector().Create(new Employee() { EmployeeId = "TEST_EMP" }); var tmpProject = new ProjectConnector().Create(new Project() { Description = "TmpProject" }); var tmpCostCenter = new CostCenterConnector().Get("TMP") ?? new CostCenterConnector().Create(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); for (var i = 0; i < 5; i++) { new AttendanceTransactionsConnector().Delete(tmpEmployee.EmployeeId, new DateTime(2018, 01, 01).AddDays(i), AttendanceCauseCode.TID); } #endregion Arrange IAttendanceTransactionsConnector connector = new AttendanceTransactionsConnector(); var newAttendenceTransaction = new AttendanceTransaction() { EmployeeId = tmpEmployee.EmployeeId, CauseCode = AttendanceCauseCode.TID, Date = new DateTime(2018, 01, 01), Hours = 1, CostCenter = tmpCostCenter.Code, Project = tmpProject.ProjectNumber }; //Add entries for (var i = 0; i < 5; i++) { newAttendenceTransaction.Date = new DateTime(2018, 01, 01).AddDays(i); connector.Create(newAttendenceTransaction); MyAssert.HasNoError(connector); } connector.Search.EmployeeId = tmpEmployee.EmployeeId; var fullCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, fullCollection.TotalResources); Assert.AreEqual(5, fullCollection.Entities.Count); Assert.AreEqual(1, fullCollection.TotalPages); Assert.AreEqual(tmpEmployee.EmployeeId, fullCollection.Entities.First().EmployeeId); //Apply Limit connector.Search.Limit = 2; var limitedCollection = connector.Find(); MyAssert.HasNoError(connector); Assert.AreEqual(5, limitedCollection.TotalResources); Assert.AreEqual(2, limitedCollection.Entities.Count); Assert.AreEqual(3, limitedCollection.TotalPages); //Delete entries foreach (var entry in fullCollection.Entities) { connector.Delete(entry.EmployeeId, entry.Date, entry.CauseCode); } #region Delete arranged resources new CostCenterConnector().Delete(tmpCostCenter.Code); new ProjectConnector().Delete(tmpProject.ProjectNumber); #endregion Delete arranged resources }
public void Test_AttendanceTransactions_CRUD() { #region Arrange var tmpEmployee = new EmployeeConnector().Get("TEST_EMP") ?? new EmployeeConnector().Create(new Employee() { EmployeeId = "TEST_EMP" }); var tmpProject = new ProjectConnector().Create(new Project() { Description = "TmpProject" }); var tmpCostCenter = new CostCenterConnector().Get("TMP") ?? new CostCenterConnector().Create(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); #endregion Arrange IAttendanceTransactionsConnector connector = new AttendanceTransactionsConnector(); #region CREATE var newAttendanceTransaction = new AttendanceTransaction() { EmployeeId = tmpEmployee.EmployeeId, CauseCode = AttendanceCauseCode.TID, Date = new DateTime(2018, 01, 01), Hours = 5.5m, CostCenter = tmpCostCenter.Code, Project = tmpProject.ProjectNumber }; var createdAttendanceTransaction = connector.Create(newAttendanceTransaction); MyAssert.HasNoError(connector); Assert.AreEqual(5.5m, createdAttendanceTransaction.Hours); #endregion CREATE #region UPDATE createdAttendanceTransaction.Hours = 8; var updatedAttendanceTransaction = connector.Update(createdAttendanceTransaction); MyAssert.HasNoError(connector); Assert.AreEqual(8, updatedAttendanceTransaction.Hours); #endregion UPDATE #region READ / GET var retrievedAttendanceTransaction = connector.Get(createdAttendanceTransaction.EmployeeId, createdAttendanceTransaction.Date, createdAttendanceTransaction.CauseCode); MyAssert.HasNoError(connector); Assert.AreEqual(8, retrievedAttendanceTransaction.Hours); #endregion READ / GET #region DELETE connector.Delete(createdAttendanceTransaction.EmployeeId, createdAttendanceTransaction.Date, createdAttendanceTransaction.CauseCode); MyAssert.HasNoError(connector); retrievedAttendanceTransaction = connector.Get(createdAttendanceTransaction.EmployeeId, createdAttendanceTransaction.Date, createdAttendanceTransaction.CauseCode); Assert.AreEqual(null, retrievedAttendanceTransaction, "Entity still exists after Delete!"); #endregion DELETE #region Delete arranged resources new CostCenterConnector().Delete(tmpCostCenter.Code); new ProjectConnector().Delete(tmpProject.ProjectNumber); #endregion Delete arranged resources }
public void Test_Find() { #region Arrange var tmpEmployee = new EmployeeConnector().Create(new Employee() { EmployeeId = TestUtils.RandomString() }); var tmpProject = new ProjectConnector().Create(new Project() { Description = "TmpProject" }); var tmpCostCenter = new CostCenterConnector().Create(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); #endregion Arrange IAbsenceTransactionConnector connector = new AbsenceTransactionConnector(); var newAbsenceTransaction = new AbsenceTransaction() { EmployeeId = tmpEmployee.EmployeeId, CauseCode = AbsenceCauseCode.MIL, Date = new DateTime(2018, 01, 01), Hours = 1, CostCenter = tmpCostCenter.Code, Project = tmpProject.ProjectNumber }; //Add entries for (var i = 0; i < 5; i++) { newAbsenceTransaction.Date = new DateTime(2018, 01, 01).AddDays(i); connector.Create(newAbsenceTransaction); } var searchSettings = new AbsenceTransactionSearch(); searchSettings.EmployeeId = tmpEmployee.EmployeeId; var fullCollection = connector.Find(searchSettings); Assert.AreEqual(5, fullCollection.TotalResources); Assert.AreEqual(5, fullCollection.Entities.Count); Assert.AreEqual(1, fullCollection.TotalPages); Assert.AreEqual(tmpEmployee.EmployeeId, fullCollection.Entities.First().EmployeeId); //Apply Limit searchSettings.Limit = 2; var limitedCollection = connector.Find(searchSettings); Assert.AreEqual(5, limitedCollection.TotalResources); Assert.AreEqual(2, limitedCollection.Entities.Count); Assert.AreEqual(3, limitedCollection.TotalPages); //Delete entries foreach (var entry in fullCollection.Entities) { connector.Delete(entry.EmployeeId, entry.Date, entry.CauseCode); } #region Delete arranged resources new CostCenterConnector().Delete(tmpCostCenter.Code); new ProjectConnector().Delete(tmpProject.ProjectNumber); #endregion Delete arranged resources }
public void Test_AbsenceTransaction_CRUD() { #region Arrange var tmpEmployee = new EmployeeConnector().Create(new Employee() { EmployeeId = TestUtils.RandomString() }); var tmpProject = new ProjectConnector().Create(new Project() { Description = "TmpProject" }); var tmpCostCenter = new CostCenterConnector().Create(new CostCenter() { Code = "TMP", Description = "TmpCostCenter" }); #endregion Arrange IAbsenceTransactionConnector connector = new AbsenceTransactionConnector(); #region CREATE var newAbsenceTransaction = new AbsenceTransaction() { EmployeeId = tmpEmployee.EmployeeId, CauseCode = AbsenceCauseCode.MIL, Date = new DateTime(2018, 01, 01), Hours = 5.5m, CostCenter = tmpCostCenter.Code, Project = tmpProject.ProjectNumber }; var createdAbsenceTransaction = connector.Create(newAbsenceTransaction); Assert.AreEqual(5.5m, createdAbsenceTransaction.Hours); #endregion CREATE #region UPDATE createdAbsenceTransaction.Hours = 8; var updatedAbsenceTransaction = connector.Update(createdAbsenceTransaction); Assert.AreEqual(8, updatedAbsenceTransaction.Hours); #endregion UPDATE #region READ / GET var retrievedAbsenceTransaction = connector.Get(createdAbsenceTransaction.EmployeeId, createdAbsenceTransaction.Date, createdAbsenceTransaction.CauseCode); Assert.AreEqual(8, retrievedAbsenceTransaction.Hours); #endregion READ / GET #region DELETE connector.Delete(createdAbsenceTransaction.EmployeeId, createdAbsenceTransaction.Date, createdAbsenceTransaction.CauseCode); Assert.ThrowsException <FortnoxApiException>( () => connector.Get(createdAbsenceTransaction.EmployeeId, createdAbsenceTransaction.Date, createdAbsenceTransaction.CauseCode), "Entity still exists after Delete!"); #endregion DELETE #region Delete arranged resources new CostCenterConnector().Delete(tmpCostCenter.Code); new ProjectConnector().Delete(tmpProject.ProjectNumber); #endregion Delete arranged resources }