public void Editing_Position_Returns_Edited_Position_ViewModel() { // Setup var posAuthMock = new Mock <IProcess <PositionAuthorizationParams, AuthorizationResultViewModel> >(); posAuthMock.Setup(x => x.Execute(It.IsAny <PositionAuthorizationParams>())).Returns(new AuthorizationResultViewModel { UserAuthorized = true }); var companyAuthMock = new Mock <IProcess <CompanyQueryAuthorizationParams, AuthorizationResultViewModel> >(); companyAuthMock.Setup(x => x.Execute(It.IsAny <CompanyQueryAuthorizationParams>())).Returns(new AuthorizationResultViewModel { UserAuthorized = true }); IProcess <EditPositionParams, PositionDisplayViewModel> process = new PositionProcesses(_context, posAuthMock.Object, companyAuthMock.Object); Position position = new Position { HasApplied = true, Title = "start title", Notes = "start note" }; User user = new User(); _context.Users.Add(user); _context.Positions.Add(position); _context.SaveChanges(); // Act PositionDisplayViewModel result = process.Execute(new EditPositionParams { Id = position.Id, Title = "title", HasApplied = false, Notes = "notes", RequestingUserId = user.Id }); // Verify Assert.AreEqual("title", result.Title, "Position's title was incorrect"); Assert.AreEqual("notes", result.Notes, "Position's note was incorrect"); Assert.IsFalse(result.HasApplied, "Position's has applied value was incorrect"); }
public void Position_Creation_Returns_Display_View_Model() { // Setup var positionAuthMock = new Mock <IProcess <PositionAuthorizationParams, AuthorizationResultViewModel> >(); positionAuthMock.Setup(x => x.Execute(It.IsAny <PositionAuthorizationParams>())).Returns(new AuthorizationResultViewModel { UserAuthorized = true }); var companyAuthMock = new Mock <IProcess <CompanyQueryAuthorizationParams, AuthorizationResultViewModel> >(); companyAuthMock.Setup(x => x.Execute(It.IsAny <CompanyQueryAuthorizationParams>())).Returns(new AuthorizationResultViewModel { UserAuthorized = true }); IProcess <CreatePositionParams, PositionDisplayViewModel> process = new PositionProcesses(_context, positionAuthMock.Object, companyAuthMock.Object); User user = new User(); Company company = new Company(); _context.Users.Add(user); _context.Companies.Add(company); _context.SaveChanges(); // Act PositionDisplayViewModel result = process.Execute(new CreatePositionParams { CompanyId = company.Id, Title = "title", HasApplied = true, Notes = "Notes", LinkedInId = "ABC123", RequestingUserId = user.Id }); // Verify Assert.AreEqual("title", result.Title, "Position had an incorrect title"); Assert.IsTrue(result.HasApplied, "Position had an incorrect HasApplied value"); Assert.AreEqual("Notes", result.Notes, "Position had an incorrect note"); Assert.AreEqual("ABC123", result.LinkedInId, "Position had an incorrect LinkedIn id"); }