11import { expect } from "chai" ;
22import { mix } from "mixwith" ;
33
4- import { MaterialContextMixin } from "../src/context/mixins" ;
4+ import { ApplicationContextMixin , MaterialContextMixin } from "../src/context/mixins" ;
55import { InMemoryEntity } from "../src/entity" ;
66
77class MockMaterial {
@@ -16,24 +16,45 @@ class SpecificMockMaterial {
1616 }
1717}
1818
19- class ProviderEntity extends mix ( InMemoryEntity ) . with ( MaterialContextMixin ) {
19+ class MockApplication {
20+ static createDefault ( ) {
21+ return "defaultMockApplication" ;
22+ }
23+ }
24+
25+ class SpecificMockApplication {
26+ static createDefault ( ) {
27+ return "defaultSpecificMockApplication" ;
28+ }
29+ }
30+
31+ class ProviderEntity extends mix ( InMemoryEntity ) . with (
32+ MaterialContextMixin ,
33+ ApplicationContextMixin ,
34+ ) {
2035 static materialCls = MockMaterial ;
36+
37+ static applicationCls = MockApplication ;
2138}
2239
2340class DerivedProviderEntity extends ProviderEntity {
2441 static materialCls = SpecificMockMaterial ;
42+
43+ static applicationCls = SpecificMockApplication ;
2544}
2645
27- describe ( "MaterialContextMixin " , ( ) => {
46+ describe ( "Material & Application ContextMixin " , ( ) => {
2847 const config = { } ;
2948
30- it ( "uses static material class" , ( ) => {
49+ it ( "uses static entity class" , ( ) => {
3150 const provider = new ProviderEntity ( config ) ;
3251 expect ( provider . material ) . to . be . equal ( "defaultMockMaterial" ) ;
52+ expect ( provider . application ) . to . be . equal ( "defaultMockApplication" ) ;
3353 } ) ;
3454
35- it ( "uses static material class from derived class" , ( ) => {
55+ it ( "uses static entity class from derived class" , ( ) => {
3656 const provider = new DerivedProviderEntity ( config ) ;
3757 expect ( provider . material ) . to . be . equal ( "defaultSpecificMockMaterial" ) ;
58+ expect ( provider . application ) . to . be . equal ( "defaultSpecificMockApplication" ) ;
3859 } ) ;
3960} ) ;
0 commit comments