summaryrefslogtreecommitdiff
path: root/slips/src/test/Marina.Test/Unit/Domain/CustomerRegistrationTest.cs
blob: dce27ad4fe2f9c0395f72501c59e5ba59df04c10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using Marina.Domain;
using Marina.Domain.Interfaces;
using Marina.Infrastructure;
using MbUnit.Framework;

namespace Marina.Test.Unit.Domain {
	[TestFixture]
	public class CustomerRegistrationTest {
		public IRegistration CreateSUT( string userName, string password ) {
			return new CustomerRegistration( userName, password, "mo", "khan", "4036813389", "calgary" );
		}

		[Test]
		public void Should_not_allow_blank_password() {
			string blankPassword = string.Empty;
			IRegistration registration = CreateSUT( "username", blankPassword );
			IRichList< IBrokenRule > brokenRules = ListFactory.From( registration.BrokenRules( ) );

			Assert.IsFalse( registration.IsValid( ) );
			Assert.AreEqual( "Password cannot be blank", brokenRules[ 0 ].Message( ) );
		}

		[Test]
		public void Should_not_allow_blank_username() {
			string blankUserName = string.Empty;
			IRegistration registration = CreateSUT( blankUserName, "password" );
			IRichList< IBrokenRule > brokenRules = ListFactory.From( registration.BrokenRules( ) );

			Assert.IsFalse( registration.IsValid( ) );
			Assert.AreEqual( "Username cannot be blank", brokenRules[ 0 ].Message( ) );
		}

		[Test]
		public void Should_be_valid() {
			Assert.IsTrue( CreateSUT( "username", "password" ).IsValid( ) );
		}

		[Test]
		public void Shoud_return_no_broken_rules() {
			IRegistration registration = CreateSUT( "userName", "PASSWORD" );
			IRichList< IBrokenRule > brokenRules = ListFactory.From( registration.BrokenRules( ) );
			Assert.AreEqual( 0, brokenRules.Count );
		}

		[Test]
		public void Should_be_equal() {
			Assert.AreEqual( CreateSUT( "mokhan", "password" ), CreateSUT( "mokhan", "password" ) );
		}
	}
}