Exemplo n.º 1
0
        public void ReturnDefaultPageWhitCompanyModel_WhenCompanyForCurrentUserNotFound()
        {
            // Arrange
            var dataMock = new Mock <IPickAndBookData>();
            var companyRepositoryMock  = new Mock <ICompanyRepository>();
            var categoryRepositoryMock = new Mock <ICategoryRepository>();
            var categoriesAll          = GetCategories(5);

            categoryRepositoryMock.Setup(c => c.All()).Returns(categoriesAll.AsQueryable());
            companyRepositoryMock.Setup(c => c.GetCompanyByUserId(It.IsAny <String>())).Returns <Company>(null);
            dataMock.Setup(c => c.Companies).Returns(companyRepositoryMock.Object);
            dataMock.Setup(c => c.Categories).Returns(categoryRepositoryMock.Object);

            string userId              = Guid.NewGuid().ToString();
            var    identity            = new GenericIdentity(userId, "");
            var    nameIdentifierClaim = new Claim(ClaimTypes.NameIdentifier, userId);

            identity.AddClaim(nameIdentifierClaim);
            var userMock = new Mock <IPrincipal>();

            userMock.Setup(x => x.Identity).Returns(identity);
            var controllerContextMock = new Mock <ControllerContext>();

            controllerContextMock.Setup(cc => cc.HttpContext.User).Returns(userMock.Object);

            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object)
            {
                ControllerContext = controllerContextMock.Object
            };

            // Act & Assert
            controller.WithCallTo(c => c.Index())
            .ShouldRenderDefaultView()
            .WithModel <Company>();
        }
Exemplo n.º 2
0
        public void ReturnDefaultViewWithModel_WhenStateIsNotValid()
        {
            // Arrange
            var dataMock = new Mock <IPickAndBookData>();
            var categoryRepositoryMock = new Mock <ICategoryRepository>();
            var categoriesAll          = GetCategories(5);

            categoryRepositoryMock.Setup(c => c.All()).Returns(categoriesAll.AsQueryable());
            dataMock.Setup(c => c.Categories).Returns(categoryRepositoryMock.Object);

            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object);

            controller.ModelState.AddModelError("test", "test");
            Company companyNotValid = new Company()
            {
                CompanyId          = Guid.NewGuid(),
                Address            = "",
                City               = "",
                CategoryId         = Guid.NewGuid(),
                CompanyDescription = "",
                CompanyName        = "",
                Email              = "",
                PhoneNumber        = "",
                UserId             = ""
            };

            // Act & Assert
            controller.WithCallTo(c => c.Index(companyNotValid, null))
            .ShouldRenderDefaultView()
            .WithModel(companyNotValid);
        }
Exemplo n.º 3
0
        public void ReturnCompanyDetailsWithCompanyModel_WhenStateIsValidWithUploadedImageAndRoleChanged()
        {
            // Arrange
            var dataMock = new Mock <IPickAndBookData>();
            var companyRepositoryMock = new Mock <ICompanyRepository>();

            dataMock.Setup(c => c.Companies).Returns(companyRepositoryMock.Object);

            var postedFileMock = new Mock <HttpPostedFileBase>();

            using (var stream = new MemoryStream())
                using (var bmp = new Bitmap(1, 1))
                {
                    var graphics = Graphics.FromImage(bmp);
                    graphics.FillRectangle(Brushes.Black, 0, 0, 1, 1);
                    bmp.Save(stream, ImageFormat.Jpeg);

                    postedFileMock.Setup(pf => pf.InputStream).Returns(stream);
                    postedFileMock.Setup(pf => pf.ContentLength).Returns((int)stream.Length);
                    postedFileMock.Setup(pf => pf.FileName).Returns("TestImage");
                }

            string userId              = Guid.NewGuid().ToString();
            var    identity            = new GenericIdentity(userId, "");
            var    nameIdentifierClaim = new Claim(ClaimTypes.NameIdentifier, userId);

            identity.AddClaim(nameIdentifierClaim);
            var userMock = new Mock <IPrincipal>();

            userMock.Setup(x => x.Identity).Returns(identity);
            var controllerContextMock = new Mock <ControllerContext>();

            controllerContextMock.Setup(cc => cc.HttpContext.User).Returns(userMock.Object);

            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object, new FileUploader(new TestPathProvider()),
                                                                                 new TestUserRoleManagerTrue())
            {
                ControllerContext = controllerContextMock.Object
            };
            Company company = new Company()
            {
                CompanyId          = Guid.NewGuid(),
                Address            = "Adress",
                City               = "City",
                CategoryId         = Guid.NewGuid(),
                CompanyDescription = "Description",
                CompanyName        = "Name",
                Email              = "Email",
                PhoneNumber        = "889966558855",
                UserId             = Guid.NewGuid().ToString()
            };

            // Act & Assert
            controller.WithCallTo(c => c.Index(company, postedFileMock.Object))
            .ShouldRenderView("CompanyDetails")
            .WithModel <Company>(company);
        }
Exemplo n.º 4
0
        public void Have_RequiredAttributes(Type attrType)
        {
            // Arrange
            var dataMock = new Mock <IPickAndBookData>();
            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object);

            // Act
            var hasAttribute = AttributeTester.MethodHasAttribute(() => controller.Index(It.IsAny <Company>(), null), attrType);

            // Assert
            Assert.IsTrue(hasAttribute);
        }
Exemplo n.º 5
0
        public void ReturnDefaultViewWithModel_WhenStateIsValidWithoutUploadedImageAndRoleNotChanged()
        {
            // Arrange
            var dataMock = new Mock <IPickAndBookData>();
            var companyRepositoryMock = new Mock <ICompanyRepository>();

            dataMock.Setup(c => c.Companies).Returns(companyRepositoryMock.Object);
            var categoryRepositoryMock = new Mock <ICategoryRepository>();
            var categoriesAll          = GetCategories(5);

            categoryRepositoryMock.Setup(c => c.All()).Returns(categoriesAll.AsQueryable());
            dataMock.Setup(c => c.Categories).Returns(categoryRepositoryMock.Object);

            string userId              = Guid.NewGuid().ToString();
            var    identity            = new GenericIdentity(userId, "");
            var    nameIdentifierClaim = new Claim(ClaimTypes.NameIdentifier, userId);

            identity.AddClaim(nameIdentifierClaim);
            var userMock = new Mock <IPrincipal>();

            userMock.Setup(x => x.Identity).Returns(identity);
            var controllerContextMock = new Mock <ControllerContext>();

            controllerContextMock.Setup(cc => cc.HttpContext.User).Returns(userMock.Object);

            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object, new FileUploader(new TestPathProvider()),
                                                                                 new TestUserRoleManagerFalse())
            {
                ControllerContext = controllerContextMock.Object
            };

            Company company = new Company()
            {
                CompanyId          = Guid.NewGuid(),
                Address            = "Adress",
                City               = "City",
                CategoryId         = Guid.NewGuid(),
                CompanyDescription = "Description",
                CompanyName        = "Name",
                Email              = "Email",
                PhoneNumber        = "889966558855",
                UserId             = Guid.NewGuid().ToString()
            };

            // Act & Assert
            controller.WithCallTo(c => c.Index(company, null))
            .ShouldRenderDefaultView()
            .WithModel <Company>(company);
        }
Exemplo n.º 6
0
        public void ReturnDefaultViewWithModel_WhenImageUploadDoesNotSucceed()
        {
            // Arrange
            var dataMock = new Mock <IPickAndBookData>();
            var companyRepositoryMock = new Mock <ICompanyRepository>();

            dataMock.Setup(c => c.Companies).Returns(companyRepositoryMock.Object);

            var postedFileMock = new Mock <HttpPostedFileBase>();

            using (var stream = new MemoryStream())
                using (var bmp = new Bitmap(1, 1))
                {
                    var graphics = Graphics.FromImage(bmp);
                    graphics.FillRectangle(Brushes.Black, 0, 0, 1, 1);
                    bmp.Save(stream, ImageFormat.Jpeg);

                    postedFileMock.Setup(pf => pf.InputStream).Returns(stream);
                    postedFileMock.Setup(pf => pf.ContentLength).Returns((int)stream.Length);
                    postedFileMock.Setup(pf => pf.FileName).Returns("TestImage");
                }
            postedFileMock.Setup(pf => pf.SaveAs(It.IsAny <String>()))
            .Throws(new Exception());

            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object, new FileUploader(new TestPathProvider()),
                                                                                 new TestUserRoleManagerTrue());

            Company company = new Company()
            {
                CompanyId          = Guid.NewGuid(),
                Address            = "Adress",
                City               = "City",
                CategoryId         = Guid.NewGuid(),
                CompanyDescription = "Description",
                CompanyName        = "Name",
                Email              = "Email",
                PhoneNumber        = "889966558855",
                UserId             = Guid.NewGuid().ToString()
            };

            // Act & Assert
            controller.WithCallTo(c => c.Index(company, postedFileMock.Object))
            .ShouldRenderDefaultView()
            .WithModel <Company>(company);
        }
Exemplo n.º 7
0
        public void ReturnCompanyDetailsPageWhitCompanyModel_WhenCompanyForCurrentUserFound()
        {
            // Arrange
            var     dataMock = new Mock <IPickAndBookData>();
            var     companyRepositoryMock = new Mock <ICompanyRepository>();
            string  userId  = Guid.NewGuid().ToString();
            Company company = new Company()
            {
                CompanyId          = Guid.NewGuid(),
                Address            = "Adress",
                City               = "City",
                CategoryId         = Guid.NewGuid(),
                CompanyDescription = "Description",
                CompanyName        = "Name",
                Email              = "Email",
                PhoneNumber        = "889966558855",
                UserId             = userId
            };

            companyRepositoryMock.Setup(c => c.GetCompanyByUserId(userId)).Returns(company);
            dataMock.Setup(c => c.Companies).Returns(companyRepositoryMock.Object);

            var identity            = new GenericIdentity(userId, "");
            var nameIdentifierClaim = new Claim(ClaimTypes.NameIdentifier, userId);

            identity.AddClaim(nameIdentifierClaim);
            var userMock = new Mock <IPrincipal>();

            userMock.Setup(x => x.Identity).Returns(identity);
            var controllerContextMock = new Mock <ControllerContext>();

            controllerContextMock.Setup(cc => cc.HttpContext.User).Returns(userMock.Object);

            RegisterCompanyController controller = new RegisterCompanyController(dataMock.Object)
            {
                ControllerContext = controllerContextMock.Object
            };

            // Act & Assert
            controller.WithCallTo(c => c.Index())
            .ShouldRenderView("CompanyDetails")
            .WithModel <Company>(company);
        }