public async Task SendEventManagerInviteReturnsSendView_WhenUserIsOrgAdminForCampaign()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var @event       = new Event();

            @event.Campaign = new Campaign()
            {
                ManagingOrganizationId = 1
            };
            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(@event);

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.MakeUserAnOrgAdmin(organizationId: "1");

            // Act
            IActionResult result = await sut.SendEventManagerInvite(eventId);

            // Assert
            Assert.IsType <ViewResult>(result);
            ViewResult view = result as ViewResult;

            Assert.Equal(view.ViewName, "Send");
        }
        public async Task SendEventManagerInviteReturnsPassesCorrectViewModelToView()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var @event       = new Event();

            @event.Campaign = new Campaign()
            {
                ManagingOrganizationId = 1
            };
            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(@event);

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.MakeUserAnOrgAdmin(organizationId: "1");

            // Act
            IActionResult result = await sut.SendEventManagerInvite(eventId);

            // Assert
            ViewResult view  = result as ViewResult;
            var        model = Assert.IsType <InviteViewModel>(view.ViewData.Model);

            Assert.Equal(eventId, model.EventId);
            Assert.Equal("Send Event Manager Invite", model.Title);
            Assert.Equal("SendEventManagerInvite", model.FormAction);
        }
        public async Task SendEventManagerInviteShouldCreateInvite_WhenUserIsOrgAdminForCampaign()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var @event       = new Event
            {
                Campaign = new Campaign()
                {
                    ManagingOrganizationId = 1
                }
            };

            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(@event);

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.MakeUserAnOrgAdmin(organizationId: "1");
            var invite = new InviteViewModel
            {
                EventId             = 1,
                InviteeEmailAddress = "*****@*****.**",
                CustomMessage       = "test message"
            };

            // Act
            IActionResult result = await sut.SendEventManagerInvite(invite.EventId, invite);

            // Assert
            mockMediator.Verify(x => x.SendAsync(It.Is <CreateEventManagerInviteCommand>(c => c.Invite == invite)), Times.Once);
        }
        public async Task SendEventManagerInvitePostReturnsUnauthorizedResult_WhenUserIsNotOrgAdminForCampaign()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var @event       = new Event
            {
                Campaign = new Campaign()
                {
                    ManagingOrganizationId = 1
                }
            };

            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(@event);

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.MakeUserAnOrgAdmin(organizationId: "2");
            var invite = new InviteViewModel();

            // Act
            IActionResult result = await sut.SendEventManagerInvite(eventId, invite);

            // Assert
            Assert.IsType <UnauthorizedResult>(result);
        }
        public async Task SendEventManagerInviteShouldNotCreateInvite_WhenUserIsNotOrgAdminForCampaign()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var @event       = new Event
            {
                Campaign = new Campaign()
                {
                    ManagingOrganizationId = 1
                }
            };

            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(@event);

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.MakeUserAnOrgAdmin(organizationId: "2");
            var invite = new InviteViewModel();

            // Act
            IActionResult result = await sut.SendEventManagerInvite(eventId, invite);

            // Assert
            mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never);
        }
        public async Task SendEventManagerInviteSendsEventByEventIdQueryWithCorrectEventId()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var sut          = new InviteController(mockMediator.Object, new FakeUserManager());

            // Act
            await sut.SendEventManagerInvite(eventId);

            // Assert
            mockMediator.Verify(mock => mock.SendAsync(It.Is <EventByEventIdQuery>(e => e.EventId == eventId)));
        }
        public async Task SendEventManagerInviteReturnsBadRequestResult_WhenViewModelIsNull()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var sut          = new InviteController(mockMediator.Object, new FakeUserManager());

            // Act
            IActionResult result = await sut.SendEventManagerInvite(eventId, null);

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
        public async Task SendEventManagerInviteShouldNotCreateInvite_WhenViewModelIsNull()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var sut          = new InviteController(mockMediator.Object, new FakeUserManager());

            // Act
            IActionResult result = await sut.SendEventManagerInvite(eventId, null);

            // Assert
            mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never);
        }
        public async Task SendCampaignManagerInviteSendsCampaignByCampaignIdQueryWithCorrectCampaignId()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var sut          = new InviteController(mockMediator.Object, new FakeUserManager());

            // Act
            await sut.SendCampaignManagerInvite(campaignId);

            // Assert
            mockMediator.Verify(mock => mock.SendAsync(It.Is <CampaignByCampaignIdQuery>(c => c.CampaignId == campaignId)));
        }
        public async Task SendEventManagerInviteShouldNotCreateInvite_WhenModelStateIsNotValid()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var sut          = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.ModelState.AddModelError("Error", "Message");

            // Act
            var result = await sut.SendEventManagerInvite(eventId, new InviteViewModel());

            // Assert
            mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never);
        }
        public async Task SendCampaignManagerInviteReturnsNotFoundResult_WhenNoCampaignMatchesId()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(null);

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            // Act
            IActionResult result = await sut.SendCampaignManagerInvite(campaignId);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
        public async Task SendEventManagerInviteShouldNotCreateInvite_WhenNoCampaignMatchesId()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(x => x.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(null);
            var sut    = new InviteController(mockMediator.Object, new FakeUserManager());
            var invite = new InviteViewModel();

            // Act
            var result = await sut.SendCampaignManagerInvite(eventId, invite);

            // Assert
            mockMediator.Verify(x => x.SendAsync(It.IsAny <CreateCampaignManagerInviteCommand>()), Times.Never);
        }
        public async Task SendEventManagerInviteReturnsBadRequestResult_WhenNoCampaignMatchesId()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(x => x.SendAsync(It.IsAny <EventByEventIdQuery>())).ReturnsAsync(null);
            var sut    = new InviteController(mockMediator.Object, new FakeUserManager());
            var invite = new InviteViewModel();

            // Act
            var result = await sut.SendEventManagerInvite(eventId, invite);

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
        public async Task SendEventManagerInviteReturnsSendView_WhenModelStateIsNotValid()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();
            var sut          = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.ModelState.AddModelError("Error", "Message");

            // Act
            var result = await sut.SendEventManagerInvite(eventId, new InviteViewModel());

            // Assert
            var view = Assert.IsType <ViewResult>(result);

            Assert.Equal("Send", view.ViewName);
        }
Esempio n. 15
0
    void SetInviteButtonText()
    {
        GameObject _inviteButton = GameObjectHelper.GetChildNamedGameObject(gameObject, "InviteButton", true);
        GameObject _awardObject  = GameObjectHelper.GetChildNamedGameObject(_inviteButton, "InviteAward", true);

        if (InviteController.WillRewardInvite())
        {
            _awardObject.SetActive(true);

            _awardObject.GetComponent <Text>().text = string.Format("+{0}", Constants.InviteAwardCoins);
        }
        else
        {
            _awardObject.SetActive(false);
        }
    }
        public async Task SendCampaignManagerInviteReturnsUnauthorizedResult_WhenUserIsNotOrgAdmin()
        {
            // Arrange
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignByCampaignIdQuery>())).ReturnsAsync(new Campaign());

            var sut = new InviteController(mockMediator.Object, new FakeUserManager());

            sut.MakeUserNotAnOrgAdmin();

            // Act
            IActionResult result = await sut.SendCampaignManagerInvite(campaignId);

            // Assert
            Assert.IsType <UnauthorizedResult>(result);
        }
Esempio n. 17
0
        public void TestInitialize()
        {
            this.controller = new InviteController(new Uri("http://localhost/famservices/Invite/Index"));

            this.sampleInvite = new InviteViewModel
            {
                Id                  = 1,
                DateSent            = DateTime.Now,
                InviteeEmailAddress = "*****@*****.**",
                UserRoleType        = UserRoleType.Admin
            };

            this.sampleInvite2 = new InviteViewModel
            {
                Id                  = 2,
                DateSent            = DateTime.Now,
                InviteeEmailAddress = "*****@*****.**",
                UserRoleType        = UserRoleType.Provider
            };
        }
Esempio n. 18
0
    bool OnShareLinkHandler(BaseMessage message)
    {
        GameManager.SafeRemoveListener <FacebookShareLinkMessage> (OnShareLinkHandler);

        FacebookShareLinkMessage msg = message as FacebookShareLinkMessage;

        if (msg.Result == FacebookShareLinkMessage.ResultType.OK)
        {
            if (InviteController.InviteBonusCoins())
            {
                StartCoroutine(CoRoutines.DelayedCallback(2f, Continue));
            }
            else
            {
                Continue();
            }
        }
        else
        {
            Continue();
        }

        return(true);
    }
Esempio n. 19
0
 public void TearDown()
 {
     _inviteLogicMock  = null;
     _userLogicMock    = null;
     _inviteController = null;
 }
Esempio n. 20
0
 public void SetUp()
 {
     _inviteServiceMock = new Mock <IInviteService>();
     _inviteController  = new InviteController(_inviteServiceMock.Object);
 }
Esempio n. 21
0
        public void OrganizationTest()
        {
            FormCollection        collection = new FormCollection();
            ViewResult            result;
            RedirectToRouteResult redirectToRouteResult;

            OrganizationController organizationController = Base.GetController <OrganizationController>();
            PartialViewResult      partialViewResult      = organizationController.Edit(null);

            List <ITariff> tariffs = partialViewResult.ViewData.Get <List <ITariff> >("tariffs");

            Assert.IsNotNull(tariffs);
            ITariff freeTariff = tariffs.Single(x => x.IsFree());

            Assert.IsNotNull(freeTariff);
            Main.Registation(Email0);

            // создали тестовую организацию
            collection.Clear();
            organizationController = Base.GetController <OrganizationController>();
            collection.Add("Name", "test");
            collection.Add("TariffId", freeTariff.Id.ToString());
            partialViewResult = organizationController.Edit(null, collection);
            IOrganization organization = ((List <EmployeeSettings>)partialViewResult.Model).Single().Organization;

            Assert.IsNotNull(organization);
            int organizationId = organization.Id;

            #region Приглашения

            InviteController inviteController = Base.GetController <InviteController>();

            // через мыло незареганного
            collection.Clear();
            collection.Add("Email", Email3);
            inviteController.NewInvite(organizationId, collection);
            List <IUsersInvite> invites = inviteController.Utility.Invites.GetInvites(organizationId);
            IUsersInvite        invite  = invites.FirstOrDefault(x => x.EMail.ToUpper() == Email3.ToUpper());
            Assert.IsNotNull(invite);
            Main.Registation(Email3, out result, out redirectToRouteResult, invite.InviteCode);
            ViewResultBase   resultBase = organizationController.EmployeeList(organizationId);
            EmployeeSettings emeil3User = (resultBase.Model as List <EmployeeSettings>).FirstOrDefault(x => x.User.EMail.ToUpper() == Email3.ToUpper());
            Assert.IsNotNull(emeil3User);
            collection.Clear();
            collection.Add("delete", "true");
            organizationController.EmployeeEdit(organizationId, emeil3User.User.Id, collection);

            // через мыло зареганного
            inviteController.Dispose();
            inviteController = Base.GetController <InviteController>();
            collection.Clear();
            collection.Add("Email", Email3);
            inviteController.NewInvite(organizationId, collection);
            invites = organizationController.Utility.Invites.GetInvites(organizationId);
            invite  = invites.FirstOrDefault(x => x.EMail.ToUpper() == Email3.ToUpper());
            Assert.IsNotNull(invite);
            Base.GetController <AdminController>().ClearCache();
            resultBase = organizationController.EmployeeList(organizationId);
            emeil3User = (resultBase.Model as List <EmployeeSettings>).FirstOrDefault(x => x.User.EMail.ToUpper() == Email3.ToUpper());
            Assert.IsNotNull(emeil3User);
            var userController = Base.GetController <UserController>();
            userController.Login(null, Email3, Email3, true, null);
            inviteController.AcceptInvite(organizationId);
            emeil3User = (resultBase.Model as List <EmployeeSettings>).FirstOrDefault(x => x.User.EMail.ToUpper() == Email3.ToUpper());
            Assert.IsTrue(emeil3User.Settings.UserRole == (int)EmployeeRole.Employee);

            // через ссылку незареганного пользователя
            userController.Dispose();
            userController = Base.GetController <UserController>();
            userController.SignOut();
            redirectToRouteResult = (RedirectToRouteResult)userController.Invite(organization.InviteCode);
            Assert.IsTrue(redirectToRouteResult.RouteValues["action"].ToString() == "Register");
            collection.Clear();
            Main.Registation(Email4, out result, out redirectToRouteResult, organization.InviteCode);
            resultBase = inviteController.List();
            var           organizations = (IEnumerable <IOrganization>)resultBase.Model;
            IOrganization first         = organizations.FirstOrDefault();
            Assert.IsTrue(first != null && first.Id == organizationId);
            inviteController.AcceptInvite(first.Id);
            resultBase = organizationController.EmployeeList(organizationId);
            EmployeeSettings emeil4User = ((List <EmployeeSettings>)resultBase.Model).FirstOrDefault(x => x.User.EMail.ToUpper() == Email4.ToUpper());
            Assert.IsNotNull(emeil4User);
            collection.Clear();
            collection.Add("delete", "true");
            organizationController.EmployeeEdit(organizationId, emeil4User.User.Id, collection);

            // через ссылку зареганного пользователя
            userController.Dispose();
            userController        = Base.GetController <UserController>();
            redirectToRouteResult = (RedirectToRouteResult)userController.Invite(organization.InviteCode);
            Assert.IsTrue(redirectToRouteResult.RouteValues["action"].ToString() == "Index");
            collection.Clear();
            inviteController.Dispose();
            inviteController = Base.GetController <InviteController>();
            resultBase       = inviteController.List();
            organizations    = (IEnumerable <IOrganization>)resultBase.Model;
            first            = organizations.FirstOrDefault();
            Assert.IsTrue(first != null && first.Id == organizationId);
            inviteController.AcceptInvite(first.Id);
            resultBase = organizationController.EmployeeList(organizationId);
            emeil4User = (resultBase.Model as List <EmployeeSettings>).FirstOrDefault(x => x.User.EMail.ToUpper() == Email4.ToUpper());
            Assert.IsNotNull(emeil4User);

            #endregion

            #region Удаление

            userController.Dispose();
            userController = Base.GetController <UserController>();
            userController.Login(null, Email3, Email3, true, null);

            BoardsController boardsController = Base.GetController <BoardsController>();
            collection.Clear();
            collection.Add("name", "t1");
            collection.Add("OrganizationId", organizationId.ToString());
            boardsController.Create(collection);

            collection.Clear();
            collection.Add("name", "t2");
            collection.Add("OrganizationId", organizationId.ToString());
            boardsController.Create(collection);

            collection.Clear();
            organizationController = Base.GetController <OrganizationController>();
            organizationController.Delete(organizationId);

            boardsController  = Base.GetController <BoardsController>();
            partialViewResult = boardsController.List(null);
            Assert.IsFalse((partialViewResult.Model as List <IBoard>).Single().OrganizationId.HasValue);            // остается только личная доска

            #endregion
        }
Esempio n. 22
0
 public void SetUp()
 {
     _inviteLogicMock  = new Mock <IInviteLogic>();
     _userLogicMock    = new Mock <IUserLogic>();
     _inviteController = new InviteController(_userLogicMock.Object, _inviteLogicMock.Object);
 }