Esempio n. 1
0
        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");
        }