public void ApiService_ProcessUpdatedObjects_CreatePersonAndUpdateTransaction_TransactionHasCorrectPayerId() { IUnitOfWork unitOfWork = Setup(); Guid transaction1Id = new Guid("88888888-4444-4444-4444-222222222222"); Guid person1Id = new Guid("88888888-1111-4444-4444-222222222222"); AddPersonToStorage(unitOfWork, person1Id, "person1", Guid.Empty); AddTransactionIntoStorage(unitOfWork, transaction1Id, 10, payerId: person1Id); ApiUpdateJsonModel model = new ApiUpdateJsonModel(); model.CreatedObjects.People.Add(new JsonPerson() { ClientId = 1, Name = "person2" }); model.UpdatedObjects.Transactions.Add(new JsonTransaction() { Id = transaction1Id, PayerClientId = 1 }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); apiService.ProcessUpdatedObjects(); Guid createdPersonId = returnModel.AddedPeople.First().Id; Assert.AreEqual(createdPersonId, unitOfWork.StorageContext.Transactions.First().PayerId); }
public void ApiService_ProcessUpdatedObjects_CreateGroupAndUpdatePerson_PersonHasCorrectGroupId() { IUnitOfWork unitOfWork = Setup(); Guid person1Id = new Guid("88888888-4444-4444-4444-222222222222"); Guid group1Id = new Guid("88888888-1111-4444-4444-222222222222"); AddGroupToStorage(unitOfWork, group1Id, "group1"); AddPersonToStorage(unitOfWork, person1Id, "test1", group1Id); ApiUpdateJsonModel model = new ApiUpdateJsonModel(); model.CreatedObjects.Groups.Add(new JsonGroup() { ClientId = 1, Name = "group2" }); model.UpdatedObjects.People.Add(new JsonPerson() { Id = person1Id, Name = "test2", GroupClientId = 1 }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); apiService.ProcessUpdatedObjects(); Guid createdGroupId = returnModel.AddedGroups.First().Id; Assert.AreEqual(createdGroupId, unitOfWork.StorageContext.People.First().GroupId); }
public void ApiService_ProcessUpdatedObjects_CreateGroupAndUpdateTransaction_TransactionHasCorrectGroupId() { IUnitOfWork unitOfWork = Setup(); Guid transaction1Id = new Guid("88888888-4444-4444-4444-222222222222"); Guid group1Id = new Guid("88888888-1111-4444-4444-222222222222"); AddGroupToStorage(unitOfWork, group1Id, "group1"); AddTransactionIntoStorage(unitOfWork, transaction1Id, 10, group1Id); ApiUpdateJsonModel model = new ApiUpdateJsonModel(); model.CreatedObjects.Groups.Add(new JsonGroup() { ClientId = 1, Name = "group2" }); model.UpdatedObjects.Transactions.Add(new JsonTransaction() { Id = transaction1Id, GroupClientId = 1 }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); apiService.ProcessUpdatedObjects(); Guid createdGroupId = returnModel.AddedGroups.First().Id; Assert.AreEqual(createdGroupId, unitOfWork.StorageContext.Transactions.First().GroupId); }
// GET api/<controller> //public IEnumerable<string> Get() //{ // return new string[] { "value1", "value2" }; //} // GET api/<controller>/5 //public string Get(int id) //{ // return "value"; //} // POST api/<controller> public ApiUpdateJsonReturnModel Sync([FromBody] ApiUpdateJsonModel model) { ApiService apiService = new ApiService(_unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); apiService.ProcessUpdatedObjects(); return(returnModel); }
public ApiService(IUnitOfWork unitOfWork, ApiUpdateJsonModel model) { _unitOfWork = unitOfWork; _groupService = new GroupService(_unitOfWork); _personService = new PersonService(_unitOfWork); _transactionService = new TransactionService(_unitOfWork); _model = model; _addedGroups = new List <AddedEntity <Group> >(); _addedPeople = new List <AddedEntity <Person> >(); _addedTransactions = new List <AddedEntity <Transaction> >(); _returnModel = new ApiUpdateJsonReturnModel(); }
public void ApiService_ProcessCreatedObjects_Add2Peple_2ndPersonAddedToReturnModel() { IUnitOfWork unitOfWork = Setup(); ApiUpdateJsonModel model = SetupPeopleForAdd(new List <string>() { "test1", "test2" }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); Assert.AreEqual(unitOfWork.StorageContext.People.Skip(1).First().Id, returnModel.AddedPeople.Skip(1).First().Id); }
public void ApiService_ProcessCreatedObjects_AddGroup_ReturnedObjectContaineNewGroupId() { IUnitOfWork unitOfWork = Setup(); ApiUpdateJsonModel model = SetupGroupsForAdd(new List <string>() { "test1" }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); Assert.AreEqual(unitOfWork.StorageContext.Groups.First().Id, returnModel.AddedGroups.First().Id); }
public void ApiService_ProcessCreatedObjects_Add2Groups_ReturnedObjectGroupCountIs2() { IUnitOfWork unitOfWork = Setup(); ApiUpdateJsonModel model = SetupGroupsForAdd(new List <string>() { "test1", "test2" }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); Assert.AreEqual(2, returnModel.AddedGroups.Count); }
public void ApiService_ProcessCreatedObjects_AddGroup_CreatedIdInReturnedObject() { IUnitOfWork unitOfWork = Setup(); ApiUpdateJsonModel model = SetupGroupsForAdd(new List <string>() { "test1" }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); Assert.IsNotNull(returnModel.AddedGroups.First().Id); }
public void ApiService_ProcessUpdatedObjects_UpdateTransactionMixOfClientAndDbIds_TransactionHasIdOfDbPayee() { IUnitOfWork unitOfWork = Setup(); Guid transaction1Id = new Guid("88888888-4444-4444-4444-222222222222"); Guid person1Id = new Guid("88888888-1111-4444-4444-222222222222"); AddPersonToStorage(unitOfWork, person1Id, "person1", Guid.Empty); AddTransactionIntoStorage(unitOfWork, transaction1Id, 10, payeeIds: new HashSet <Person>() { unitOfWork.StorageContext.People.First() }); ApiUpdateJsonModel model = new ApiUpdateJsonModel(); model.CreatedObjects.People.Add(new JsonPerson() { ClientId = 1, Name = "person2" }); model.UpdatedObjects.Transactions.Add(new JsonTransaction() { Id = transaction1Id, Payees = new List <Guid>() { person1Id }, PayeesClientIds = new List <int>() { 1 } }); ApiService apiService = new ApiService(unitOfWork, model); ApiUpdateJsonReturnModel returnModel = apiService.ProcessCreatedObjects(); apiService.ProcessUpdatedObjects(); Guid createdPersonId = returnModel.AddedPeople.First().Id; IEnumerable <Guid> payeeGuids = unitOfWork.StorageContext.Transactions.First().Payees.Select(x => x.Id).ToList(); Assert.IsTrue(payeeGuids.Contains(createdPersonId)); }