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>(); }
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); }
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); }
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); }
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); }
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); }