public async Task Workers_Create_DoesCreate() { //Arrange Random rnd = new Random(); workers worker = new workers { FirstName = Guid.NewGuid().ToString(), LastName = Guid.NewGuid().ToString(), Email = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; //Act await worker.Create(dbContext).ConfigureAwait(false); List <workers> workers = dbContext.workers.AsNoTracking().ToList(); List <worker_versions> workersVersion = dbContext.worker_versions.AsNoTracking().ToList(); //Assert Assert.NotNull(workers); Assert.NotNull(workersVersion); Assert.AreEqual(1, workersVersion.Count()); Assert.AreEqual(1, workers.Count()); Assert.AreEqual(worker.CreatedAt.ToString(), workers[0].CreatedAt.ToString()); Assert.AreEqual(worker.Version, workers[0].Version); // Assert.AreEqual(worker.UpdatedAt.ToString(), workers[0].UpdatedAt.ToString()); Assert.AreEqual(workers[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(worker.Email, workers[0].Email); Assert.AreEqual(worker.FirstName, workers[0].FirstName); Assert.AreEqual(worker.LastName, workers[0].LastName); Assert.AreEqual(worker.MicrotingUid, workers[0].MicrotingUid); Assert.AreEqual(worker.full_name(), workers[0].full_name()); //Versions Assert.AreEqual(worker.CreatedAt.ToString(), workersVersion[0].CreatedAt.ToString()); Assert.AreEqual(1, workersVersion[0].Version); // Assert.AreEqual(worker.UpdatedAt.ToString(), workersVersion[0].UpdatedAt.ToString()); Assert.AreEqual(workersVersion[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(worker.Email, workersVersion[0].Email); Assert.AreEqual(worker.FirstName, workersVersion[0].FirstName); Assert.AreEqual(worker.LastName, workersVersion[0].LastName); Assert.AreEqual(worker.MicrotingUid, workersVersion[0].MicrotingUid); }
public async Task Workers_Update_DoesUpdate() { //Arrange Random rnd = new Random(); workers worker = new workers { FirstName = Guid.NewGuid().ToString(), LastName = Guid.NewGuid().ToString(), Email = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; await worker.Create(dbContext).ConfigureAwait(false); //Act DateTime?oldUpdatedAt = worker.UpdatedAt; string oldFirstName = worker.FirstName; string oldLastName = worker.LastName; string oldEmail = worker.Email; int? oldMicrotingUid = worker.MicrotingUid; worker.FirstName = Guid.NewGuid().ToString(); worker.LastName = Guid.NewGuid().ToString(); worker.Email = Guid.NewGuid().ToString(); worker.MicrotingUid = rnd.Next(1, 255); await worker.Update(dbContext).ConfigureAwait(false); List <workers> workers = dbContext.workers.AsNoTracking().ToList(); List <worker_versions> workersVersion = dbContext.worker_versions.AsNoTracking().ToList(); //Assert Assert.NotNull(workers); Assert.NotNull(workersVersion); Assert.AreEqual(1, workers.Count()); Assert.AreEqual(2, workersVersion.Count()); Assert.AreEqual(worker.CreatedAt.ToString(), workers[0].CreatedAt.ToString()); Assert.AreEqual(worker.Version, workers[0].Version); // Assert.AreEqual(worker.UpdatedAt.ToString(), workers[0].UpdatedAt.ToString()); Assert.AreEqual(worker.Email, workers[0].Email); Assert.AreEqual(worker.FirstName, workers[0].FirstName); Assert.AreEqual(worker.LastName, workers[0].LastName); Assert.AreEqual(worker.MicrotingUid, workers[0].MicrotingUid); Assert.AreEqual(worker.full_name(), workers[0].full_name()); //Version 1 Old Version Assert.AreEqual(worker.CreatedAt.ToString(), workersVersion[0].CreatedAt.ToString()); Assert.AreEqual(1, workersVersion[0].Version); // Assert.AreEqual(oldUpdatedAt.ToString(), workersVersion[0].UpdatedAt.ToString()); Assert.AreEqual(oldEmail, workersVersion[0].Email); Assert.AreEqual(oldFirstName, workersVersion[0].FirstName); Assert.AreEqual(oldLastName, workersVersion[0].LastName); Assert.AreEqual(oldMicrotingUid, workersVersion[0].MicrotingUid); //Version 2 Updated Version Assert.AreEqual(worker.CreatedAt.ToString(), workersVersion[1].CreatedAt.ToString()); Assert.AreEqual(2, workersVersion[1].Version); // Assert.AreEqual(worker.UpdatedAt.ToString(), workersVersion[1].UpdatedAt.ToString()); Assert.AreEqual(worker.Email, workersVersion[1].Email); Assert.AreEqual(worker.FirstName, workersVersion[1].FirstName); Assert.AreEqual(worker.LastName, workersVersion[1].LastName); Assert.AreEqual(worker.MicrotingUid, workersVersion[1].MicrotingUid); }