public async Task SpendPoints_Should_Return_Transactions()
        {
            var newTransactions = new List <Transaction>()
            {
                new Transaction()
                {
                    Payer     = "TEST",
                    Points    = 200,
                    Timestamp = DateTime.UtcNow
                }
            };
            var rewardsServiceMock = new Mock <IRewardsService>();

            rewardsServiceMock.Setup(r => r.Spend(It.IsAny <int>(), default)).ReturnsAsync(newTransactions);


            var controller = new RewardsController(rewardsServiceMock.Object, _mapper);
            var result     = await controller.SpendPoints(new SpendPointsRequest()
            {
                Points = 200
            }, default);

            Assert.Equal(newTransactions, ((OkObjectResult)result).Value);
            Assert.Equal(200, ((OkObjectResult)result).StatusCode);
        }
예제 #2
0
    public void Setup()
    {
        _btnSubmitScore.SetActive(true);
        //_btnScoreSubmitted.SetActive(false);

        RewardsController rewardsController = GameManager.Instance.GetRewardsController();

        int advantage1Score  = rewardsController.ScoreForRing(1);
        int advantage2Score  = rewardsController.ScoreForRing(2);
        int advantage3Score  = rewardsController.ScoreForRing(3);
        int portalTotalScore = advantage1Score + advantage2Score + advantage3Score;

        int timeScore  = portalTotalScore > 0 ? ((int)rewardsController.timeLeft) * GameManager.Instance.scoreFromTime : 0; //Only count if throws were made
        int livesLeft  = GameManager.Instance.GetAttemptsLeft();
        int livesScore = portalTotalScore > 0 ? livesLeft * GameManager.Instance.scoreFromLives : 0;                        //Only count if throws were made

        _txtTimeScore.text  = "x " + timeScore.ToString();
        _txtLivesScore.text = "x " + livesScore.ToString();

        //Disable the images according to amount of lives left
        switch (livesLeft)
        {
        case 0:
        case 3:
            _liveImages[0].SetActive(false);
            _liveImages[1].SetActive(false);
            _liveImages[2].SetActive(true);     //This one is greyd out
            break;

        case 1:
            _liveImages[0].SetActive(true);
            _liveImages[1].SetActive(false);
            _liveImages[2].SetActive(false);
            break;

        case 2:
            _liveImages[0].SetActive(true);
            _liveImages[1].SetActive(true);
            _liveImages[2].SetActive(false);
            break;
        }

        SolveScoreForAdvantage(advantage1Score, _imgAdvantage1, _txtAdvantage1Score);
        SolveScoreForAdvantage(advantage2Score, _imgAdvantage2, _txtAdvantage2Score);
        SolveScoreForAdvantage(advantage3Score, _imgAdvantage3, _txtAdvantage3Score);

        if (timeScore == 0)
        {
            _timerImg.sprite = _timerImages[0];
        }
        else
        {
            _timerImg.sprite = _timerImages[1];
        }

        int finalScore = timeScore + portalTotalScore + livesScore;

        GameManager.Instance.UpdateLatestScore(finalScore);
        _txtFinalScore.text = "x " + finalScore.ToString();
    }
예제 #3
0
        public async Task SeventyFivePercentDiscountId_ShouldAllowCreate()
        {
            //Arrange
            Initialize();
            var rewardsController = new RewardsController(context, hostEnvironment);
            var account           = await context.Accounts.FirstOrDefaultAsync(m => m.AccountId == 2);

            reward.RewardId = 3;

            //Act
            await rewardsController.AddRewardToAccount(reward.RewardId, account);

            //Assert
            Assert.True(rewardsController.ModelState.IsValid);
        }
        public async Task AddTransactions_Should_Return_200_After_Adding_Transactions()
        {
            var rewardsServiceMock = new Mock <IRewardsService>();
            var newTransactions    = new List <Transaction>()
            {
                new Transaction()
                {
                    Payer     = "DANNON",
                    Points    = 1000,
                    Timestamp = new DateTime(2020, 11, 2, 14, 0, 0, DateTimeKind.Utc)
                }
            };

            var controller = new RewardsController(rewardsServiceMock.Object, _mapper);
            var result     = await controller.AddTransactions(new AddTransactionsRequest()
            {
                Transactions = newTransactions
            });

            Assert.Equal(200, ((OkResult)result).StatusCode);
        }
예제 #5
0
    void Awake()
    {
        if (!created)
        {
            DontDestroyOnLoad(this.gameObject);
            created = true;
        }
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(this.gameObject);
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }
        Stars Stars = DataManager.GetStars();

        System.Int32.TryParse(Stars.First, out FirstLvStars);
        System.Int32.TryParse(Stars.Second, out SecondLvStars);
        System.Int32.TryParse(Stars.Third, out ThirdLvStars);
    }
        public void TestIfRewardsControllerUsePointActionReturnsRedirectTo()
        {
            var mockUserService      = new Mock <IUserService>();
            var applicationDbcontext = new ApplicationDbContext(CreateNewContextOptions());

            applicationDbcontext.Database.EnsureCreated();

            var mockStayService = new Mock <IStaysService>();

            var store = new Mock <IUserStore <ApplicationUser> >();

            var mgr = new Mock <UserManager <ApplicationUser> >(store.Object, null, null, null, null, null, null, null, null);

            mgr.Object.UserValidators.Add(new UserValidator <ApplicationUser>());
            mgr.Object.PasswordValidators.Add(new PasswordValidator <ApplicationUser>());

            var testController = new RewardsController(applicationDbcontext, mgr.Object, mockUserService.Object, mockStayService.Object);

            var result = testController.UsePoints(0);


            Assert.IsAssignableFrom <Task <IActionResult> >(result);
        }