# Domain & Unit Tests

Domain Tests test Entities, Value Objects or other classes related to the Domain.

        [Test]
        public void Create_new_topup()
        {
            // arrange
            var provider = _.Make<Provider>(m => m.Amounts = "10,20,30");
            var command = _.Make<TopupNew.Command>(m => m.Amount = 10);
            var user = _.Make<User>();
            
            // act
            var topup = new Topup(command, user, provider);
            
            // assert
            topup.Email.ShouldBe(user.Email);
            topup.Name.ShouldBe(user.Name);
            
            topup.Provider.ShouldBe(provider);
            topup.Amount.ShouldBe(command.Amount);
            topup.PhoneNumber.ShouldBe(command.PhoneNumber);
            
            topup.Status.ShouldBe(TopupStatus.Created);
        }